4. Diseño del sistema de contaminantes usando la metodología orientada a objetos.

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

Download "4. Diseño del sistema de contaminantes usando la metodología orientada a objetos."

Transcripción

1 4. Diseño del sistema de contaminantes usando la metodología orientada a objetos. Este capítulo describe la implementación de la metodología desarrollada en el proyecto y descrita en el apartado 3 usando el paradigma de la orientación a objetos. En el proyecto se desarrolla una aplicación usando el lenguaje de programación orientado a objetos C++, que permite realizar estimaciones de contaminantes en una población usando la metodología. El modelado de objetos y algoritmos implementados para el diseño de sistema se ha realizado a través de UML (Lenguaje Unificado de Modelado). En los siguientes apartados se realizará una introducción a la metodología orientada a objetos y a UML. A continuación se mostrará una descripción de los objetos y algoritmos implementados para la creación del sistema empleando UML Introducción a la metodología orientada a objetos (MOO) La metodología para representar las abstracciones de datos empleadas es la metodología orientada a objetos (MOO), y en especial el Lenguaje de Modelado Unificado (UML). Se emplean los diagramas de clases y diagramas de paquetes donde se mostrarán las relaciones existentes entre las entidades. La metodología orientada a objetos es un nuevo estilo de desarrollo que facilita la compresión y el modelado del sistema y su conversión para el desarrollo del software En este apartado se hace una breve descripción del propósito, la notación y la sintaxis de UML y los diagramas que se dibujan para expresar y modelar sistemas (tanto sistemas software como aspectos de la realidad). De esta forma se podrá comprender el significado de los diagramas usados a lo largo del presente documento. Se verán inicialmente unos conceptos básicos de terminología de orientación a objetos para posteriormente pasar a describir los elementos del lenguaje UML y los diagramas de los que se dispone para describir los conceptos y elementos definidos Conceptos básicos de la orientación a objetos. A continuación se definen algunos de los conceptos básicos que pertenecen al vocabulario del paradigma de programación orientada a objetos. Objeto: un objeto es cualquier concepto que aparece en contexto del sistema y para el que es creada una representación del mismo. Los objetos están compuestos tanto de datos (o atributos que le son propios) como de funcionalidad (o capacidades). Clase: Categoría de objetos similares. Una clase es una plantilla a partir de la cual se crean los objetos. Cada objeto que pertenece a una clase es una instancia 93

2 de dicha clase. En la clase se especifica tanto la funcionalidad de los objetos como los datos que pueden contener los mismos, pero no los valores concretos de estos datos, que definen el estado concreto de cada objeto instancia de la clase. Cada objeto es un elemento único de la clase en la que se basa. Si una clase es como un molde, entonces un objeto es lo que se crea a partir del molde. La clase es la definición de un elemento; el objeto es el elemento. El molde para una figura de cerámica en particular, es como una clase; la figura es el objeto. Las clases en la notación UML se representan como cajas rectangulares con tres secciones: nombre, atributos (datos) y métodos (funcionalidad). Herencia de clases: La herencia es la relación del tipo es una o es un tipo de que se establece entre dos clases. La herencia de clases es un concepto que permite sacar ventaja de la relación que se establecen al permitir que las subclases hereden la funcionalidad y los atributos de la clase padre. Clase abstracta: Una clase de la cual no se pueden crear instancias de objetos, pero que provee funcionalidad y definiciones de datos que son heredadas por sus subclases. En la notación UML una clase abstracta se representa con su nombre en cursiva. Atributo estático o de clase: Se dice que un atributo o método es de clase cuando cada objeto instancia de la clase no tiene una copia del mismo con un valor, sino que únicamente existe una copia de la propiedad de la clase, que puede ser accedida y modificada por todos los objetos instancia de la clase. Así, si un objeto modifica un atributo de clase todos los demás obtendrán al consultarlo el nuevo valor modificado. Los atributos de clase se representan subrayados. Interfaz: Un interfaz define únicamente la funcionalidad ofrecida por un objeto y sus responsabilidades. De esta forma un objeto puede ofrecer o implementar una interfaz si tiene entre sus métodos a todos los que componen esa interfaz. Herencia de interfaces: Al ser los interfaces únicamente proveedores de funcionalidad cuando un interfaz u objeto hereda de una interfaz aglutina su funcionalidad, heredando por tanto las definiciones de los métodos. La herencia de interfaces se representa igual que la herencia de clases Breve historia y características principales de C++ Los lenguajes modelados orientados a objetos comienzan a aparecer a mediados de los setenta, influidos tanto por técnicas como los modelos Entidad / Relación y el Specification & Description Language (SDL, circa 1976, CCITT), como por diversas metodologías que se aproximaban al análisis y diseño orientados a objetos. Entre todos estos lenguajes de programación surge un lenguaje de alto nivel de enorme implantación en su momento y en la actualidad llamado C++. Fue creado por Bjarne Strostrup (Laboratorios AT&T de Bell, 1986). En principio se creó como una extensión de C que permitía, gracias al concepto de clase, la agrupación de datos y operaciones en una sola estructura abstracta. A lo largo de todo el desarrollo del lenguaje 94

3 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos C++, y de los diferentes entornos de programación que lo soportaran se ha cuidado con esmero la compatibilidad entre C y C++. Esto implica que cualquier programa que compile en un compilador de C debe compilar en un compilador de C++. Sin embargo, no sucede al contrario. Este lenguaje permite mediante la orientación objetos hacer un eficiente tratamiento tanto de las estructuras de datos empleadas por las aplicaciones como de los algoritmos a implementar. Las características fundamentales de las extensiones realizadas sobre C por Stroustrup para crear C++ tienen que ver con: Extensiones propias de la metodología orientada a objetos: es decir, la implementación concreta de algunos de los conceptos que se han mencionado en el apartado anterior: o Clases: C++ permite la implementación de entidades abstractas que agrupan tanto estructuras de datos como operaciones que se puedan realizar con los atributos o datos de la clase y otras entidades de información provenientes de otras clases. En el siguiente ejemplo se puede ver en C++ la declaración de una clase llamada Punto2D, que define un punto en el plano bidimensional en coordenadas cartesianas. La información asociada esencialmente a una entidad de este tipo será una coordenada x y una coordenada y. En una clase no solo se agrupa esta información, sino que se agruparán un conjunto de operaciones que se puedan realizar, como son calcular la norma del vector (x,y), calcular la distancia a otro punto dado, etc Por tanto hay un encapsulado de datos y operaciones en una misma entidad: o Clases derivadas: permiten la implementación de una especialización entre clases. Es decir, se puede declarar una clase hija que herede de una clase padre. Esto permite que la hija herede las implementaciones y las estructuras de datos de la clase padre, existiendo las opciones tanto de ampliar los atributos de información y las operaciones, así como de sobrescribir algunas de las operaciones implementadas para la clase padre. o Constructores: Son métodos o funciones específicas de las clases que permiten que cada vez que se crea una instancia o ejemplar concreto de una clase se inicialicen a unos valores deseados los atributos de información de la clase. Los métodos constructores tienen el mismo nombre que la clase a la que están inicializando, y se pueden sobrescribir, es decir, que puede haber varios constructores definidos para una misma clase. o Destructores: permiten desechar el objeto cuando éste sale de ámbito (es lo que se conoce como recogida de basura ). Son métodos de clase. o Funciones virtuales: se permite la elección de la función a implementar en función del nivel de jerarquía de clases en que se encuentre el objeto con el que se esté trabajando. Así, si una clase padre en una jerarquía presenta una función con un determinado nombre y argumentos, el cuerpo de dicha función puede redefinirse para una clase hija. De esta manera se simula el denominado polimorfismo en tiempo de ejecución. 95

4 o Control de acceso: C++ permite restringir los permisos de acceso que una clase tiene sobre los atributos y métodos de otra clase. También se puede especificar el control de acceso de una clase derivada sobre los métodos y atributos de su clase padre. De esta manera el desarrollador puede establecer los niveles de ocultación de los diferentes atributos de las clases que formen parte de la aplicación. o Funciones amigas: permite el acceso excepcional a determinados atributos de una clase que de otra forma serían inaccesible desde otra clase, por haber sido declarados como protected o privated. Este aspecto no es propio de la orientación de objetos, ya que viola el principio de ocultación. Como contrapunto añade una serie de facilidades al programador. Extensiones que mejoran el lenguaje: o Sobrecarga de funciones: Dos funciones pueden comportarse de forma distinta en función del tipo de los parámetros que reciban. Esta es otra forma de polimorfismo, junto con las funciones virtuales y la sobrecarga de operadores. o Sobrecarga de operadores: El programador puede redefinir el comportamiento de un determinado operador (por ejemplo el de asignación '=') para una determinada clase. o Parámetros por defecto: Permite dar unos valores predeterminados a los parámetros de una función. o Referencias: Simplifican la sintaxis. o Nuevos comentarios: Permiten una mayor legibilidad del código fuente. o Expansión de funciones: Eliminan las directivas al compilador, típicas de C. Extensión a los tipos de datos: o Nuevos operadores de memoria dinámica: Así ya no hace falta utilizar una librería. Además, estos operadores son más eficientes y presentan una sintaxis más legible. o Nueva librería de Entrada/Salida: Con una sintaxis más legible, y una potencia mayor. o Conversiones de tipos en lugar de "castings" o moldeados. En C si se quiere cambiar el tipo de una variable bastaba con tratarla como si fuese de otro tipo, mientras que en C++ existen funciones de cambio de tipo para las variables. 96

5 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos o Comprobación de parámetros: El montador comprueba en tiempo de montaje que los parámetros recibidos por las funciones sean del tipo correcto. o Prototipado obligatorio: El prototipado de funciones se convierte en obligatorio Lenguaje de Modelado Unificado (Unified Modelling Language, UML) Breve historia de UML. A finales de los 80 e inicios de los 90 se produjo un extraordinario aumento en el número de lenguajes de modelado. Esencialmente esto se debe a que se hacían necesarias disciplinas que permitiesen modelar los sistemas, sobre todo los sistemas software, cada vez más ricos en complejidad y tamaño. El problema inicial se vio mitigado por la aparición de lenguajes de modelado que permitieran realizar tanto descripciones como diseño de sistemas de manera abstracta. Apareció entonces un segundo problema, relacionado con la existencia de una enorme cantidad de lenguajes de modelado que respondían a esas necesidades. Esta falta de unificación o estandarización supuso un notable problema. A mediados de los 90 aparecieron nuevas interacciones entre diversos métodos, destacando el Booch'93, la evolución del OMT (Object Modeling Techniques) y Fusion. Se inició un proceso de fusión, en el que muchos de estos lenguajes comenzaban a compartir técnicas o metodologías de otros lenguajes o procedimientos de modelado. Los métodos empezaron a incluir técnicas unos de los otros, predominando un pequeño grupo de ellos, incluyendo el OOSE (Object Oriented Software Engineering), OMT-2 y el Booch'93. Cada una de las tres metodologías anteriores de modelado de sistemas presentaba unas cualidades que los hacían atractivos, que se mencionan brevemente a continuación: OOSE se orientaba hacia los casos de usos, dando un excelente soporte para los análisis de requisitos en la creación de sistemas y aplicaciones en ingeniería. OMT-2 era especialmente adecuado para el análisis de sistemas de información y bases de datos. Booch'93 era de gran utilidad en fases de diseño y construcción de proyectos. Este lenguaje se había implantado con bastante profusión en el campo de la gestión y desarrollo de proyectos de ingeniería. A finales de 1994 se inició el desarrollo del UML. Inicialmente se trataba de un trabajo de unificación de Booch 93 y OMT, llevado a cabo por Booch y Rumbaugh (pertenecientes al grupo Racional Software Corporation). Debido a la gran implantación de ambos métodos a nivel mundial, se hizo un esfuerzo en dirección a lograr una unificación de ambos lenguajes que permitiera que el resultado único fuera usado con la misma 97

6 profusión que Booch y OMT. Posteriormente, y tras una primera versión de lenguaje a finales de 1995, Jacobson y su empresa se encargaron de realizar la unificación del producto ya obtenido con lo desarrollado en OOSE. Los autores de los métodos Booch, OMT y OOSE (Grady Booch, Jim Rumbaugh e Ivar Jacobson), estaban por lo tanto decididos a crear un lenguaje unificado de modelado. Así pues se creó una situación idónea para la creación de un lenguaje de carácter unificado que permitiera el modelado de sistemas y del proceso de desarrollo de éstos. Los motivos que llevaban a que esta unificación fuera la mejor opción eran: Las metodologías se estaban desarrollando con total independencia unas de otras, aunque esencialmente tenían una base similar, y las diferencias existentes eran de poca importancia. Era cada vez mas importante buscar un lenguaje común que clarificara al usuario, a la vez que aportara una unión de funcionalidades mayor que cada una de ellas por separado. La creación de un lenguaje de modelado estable y unificado permitiría introducir una mayor estabilidad en el ámbito de la creación de software orientado a objetos, potenciando mucho más esta disciplina. Inicialmente se plantearon cuatro objetivos: Desarrollar un lenguaje que permitiera el modelado de sistemas (entiéndase sistema en su definición mas general, dentro del ámbito de la ingeniería), usando conceptos de la orientación hacia objetos. Permitir la realización de un modelo del sistema exhaustiva, desde el nivel de abstracción mas elevado hasta el nivel mas concreto de implementación. Cubrir las cuestiones relacionadas con el tamaño inherente a los sistemas complejos y críticos. Permitir que el lenguaje fuera perfectamente manejable tanto por usuarios humanos como por máquinas. Durante 1996 se siguió con el desarrollo del lenguaje, y con un proceso de sondeo dentro de la comunidad de desarrolladores. De igual modo se produjo la adhesión de varias entidades de carácter privado y fuerte peso específico dentro del mundo la informática (fueron IBM, Hewlett - Packard, Dell, Texas Instruments...) al desarrollo de UML. De este modo en Enero de 1997 aparece la versión 1.0 del Lenguaje Unificado de Modelado (Unified Modelling Language, UML). Esta versión fue ofrecida a la OMG (Object Management Group) para su estandarización, en respuesta a su solicitud de propuestas para un lenguaje estándar de modelado. A partir de este momento se formó un grupo de trabajo donde quedaban representadas casi todas las entidades que habían participado en el proyecto. Este grupo se encargaba esencialmente de la semántica. A partir de este momento se han ido desarrollando sucesivas versiones del lenguaje. 98

7 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Qué es UML? UML son las siglas de Unified Modelling Language, o Lenguaje Unificado de Modelado. UML es un leguaje gráfico que permite modelar: Las interacciones de un sistema. Los componentes que lo forman. La estructura de estos componentes. El comportamiento del sistema. De igual modo también permite modelar o describir las relaciones del sistema con los usuarios de éste u otros sistemas de una manera visual. Inicialmente está planteado para modelar cualquier tipo de sistema, pero en especial presenta gran utilidad para el modelado de sistemas software que sean desarrollados en lenguajes orientados a objetos. UML se ha convertido en el lenguaje estándar para visualizar, especificar, construir y documentar los componentes de un sistema software. Esta tarea se realiza en base a diagramas, que permiten de una manera gráfica describir cada uno de estos aspectos de un sistema software. A continuación se describen los tipos de diagramas que se pueden usar en UML para modelar el sistema, especificando su uso, sintaxis, elementos que pueden aparecer en él, etc. Diagrama de casos de usos. Los casos de uso permiten describir el comportamiento de un sistema desde el punto de vista del usuario basándose en un conjunto de acciones y reacciones. Es por lo tanto una técnica que permite capturar los requisitos funcionales del sistema. De esta forma queda delimitado el alcance del sistema y cuál es su relación con el entorno. En estos diagramas, el sistema queda reducido a una "caja negra", ya que no interesa cómo lleva a cabo sus funciones, sino simplemente qué acciones visibles desde el exterior son las que realiza. Los casos de uso están basados en lenguaje natural, lo que los hace accesibles a cualquier usuario. Además, aquellos casos de uso que resulten muy complejos pueden descomponerse en nuevos casos de uso de un nivel inferior, hasta llegar a un nivel tal que resulten fáciles de analizar. Los casos de uso guían todo el proceso de desarrollo del sistema, lo que quiere decir que en momentos determinados de dicho proceso, el sistema debe ser validado comprobando que se ajusta al diagrama de casos de uso. Los diagramas de casos de uso están formados por 3 elementos fundamentales: 99

8 Actores. Son los participantes de los casos de uso y se corresponden con los usuarios que interactúan con el sistema. Pueden ser seres humanos, dispositivos externos que interactúen con el sistema, o incluso elementos como temporizadores o alarmas que envíen eventos o notificaciones al sistema. Un actor se caracteriza por la forma de interaccionar con el sistema. Un mismo usuario puede ejercer de varios actores, y un actor puede representar a varios usuarios. Los actores se representan de la siguiente manera en los diagramas de casos de uso: Fig. 32. Representación de un actor o participante en un caso de Uso en UML Casos de uso. Son los escenarios de interacción de los actores. Representan el comportamiento del sistema en relación con los usuarios. De esta forma, un caso de uso define la secuencia de interacciones entre uno o más usuarios y el sistema. Los casos de uso se representan de la siguiente manera en los diagramas de casos de uso: Fig. 33. Representación de un caso de uso en UML Relaciones. Representan el flujo de información intercambiada entre los actores y los casos de uso, o entre diferentes casos de uso. Se emplean para que un caso de uso obtenga la información necesaria para llevar a cabo alguna acción, o para que el proceso proporcione algún resultado. Estas relaciones pueden ser unidireccionales o bidireccionales. La relación entre un actor y un caso de uso se representa de la siguiente manera: Fig. 34. Representación de la relación entre un actor y un caso de uso Los diagramas de casos de uso se clasifican en diferentes niveles, en función del grado de detalle con el que se represente el funcionamiento del sistema. De esta forma, los diagramas de nivel 0 representan el sistema completo con un nivel de detalle muy bajo, mientras que al aumentar el nivel, va incrementándose el grado de detalle. 100

9 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Diagrama de paquetes. Los diagramas de paquetes sirven esencialmente para obtener una visión más clara del sistema o subconjunto de la realidad a modelar, organizándolo en subsistemas o subconjuntos más pequeños, agrupando los elementos y detallando las relaciones de dependencia entre ellos. El mecanismo de agrupación se denomina Paquete. Estos diagramas contienen dos tipos de elementos: Paquetes: Agrupación de elementos, bien sea casos de uso, clases o componentes. Un paquete puede contener a su vez otros paquetes anidados que en última instancia contendrán alguno de los elementos anteriores. Un paquete es representado mediante un símbolo como el que se muestra a continuación, colocándose el nombre del paquete en la pestaña, y el contenido debajo. En los casos en que no sea visible el contenido del paquete se podrá colocar en su lugar el nombre. Fig. 35. Representación de un paquete en UML Dependencia entre paquetes: Se dice que existe una dependencia entre dos paquetes cuando un elemento de un paquete requiere de otro que pertenece a un paquete distinto. Es importante resaltar que las dependencias no son transitivas. Las dependencias se representan con una flecha discontinua con inicio en el paquete que depende del otro. En la figura 36 se representa un diagrama de paquetes simple, donde se muestra la dependencia o instanciación que tiene del Paquete-2 el Paquete-1. Fig. 36. Representación de la dependencia entre paquetes en UML Diagrama de clases. El objetivo principal de este diagrama es la representación de los aspectos estáticos del sistema, utilizando diversos mecanismos de abstracción (clasificación, generalización, agregación). Este diagrama permite por lo tanto modelar los aspectos estructurales del sistema o la realidad a modelar, y los elementos que no dependen del tiempo. El diagrama de clases recoge las clases de objetos y sus asociaciones. En este diagrama se representa la estructura y el comportamiento de cada uno de los objetos del 101

10 sistema y sus relaciones con los demás objetos, pero no muestra información temporal. Con el fin de facilitar la comprensión del diagrama, se pueden incluir paquetes como elementos del mismo, donde cada uno de ellos agrupa un conjunto de clases. Notación ellas. Describe como se representan las clases y las relaciones que pueden aparecer entre o Clases Una clase se representa como una caja, separada en tres zonas por líneas horizontales, como se muestra en la 37: Fig. 37. Representación de una clase en el modelo de diseño de UML A continuación se describen cada una de estas tres zonas: En la zona superior se muestra el nombre de la clase y propiedades generales como el estereotipo. El nombre de la clase aparece centrado y si la clase es abstracta se representa en cursiva. El estereotipo, si se muestra, se sitúa sobre el nombre y entre el símbolo: << >>. La zona central contiene una lista de atributos, uno en cada línea. La notación utilizada para representarlos incluye, dependiendo del detalle, el nombre del atributo, su tipo y su valor por defecto, con el formato: Visibilidad nombre: tipo = valor-inicial { propiedades } La visibilidad será en general publica (+), privada (-) o protegida (#), aunque puede haber otros tipos de visibilidad dependiendo del lenguaje de programación empleado. En la zona inferior se incluye una lista con las operaciones que proporciona la clase. Cada operación aparece en una línea con formato: Visibilidad nombre (lista-de-parámetros): tipo-devuelto { propiedad } 102

11 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Para el modelado de los datos del sistema solo indicaremos el nombre de la clase ya que la especificación de todos los atributos y métodos repercute en una peor legibilidad del modelo. o Relaciones Una relación de asociación se representa con una línea continua entre las clases asociadas. En una relación de asociación, ambos extremos de la línea pueden conectar con la misma clase, indicando que una instancia de una clase está asociada a otras instancias de la misma clase, lo que se conoce como asociación reflexiva. La relación puede tener un nombre y un estereotipo, que se colocan junto a la línea. El nombre suele corresponderse con expresiones verbales presentes en las especificaciones, y define la semántica de la asociación. Los estereotipos permiten clasificar las relaciones en familias y se escribirán entre el símbolo: <<.. >>. Las diferentes propiedades de la relación se pueden representar con la siguiente notación: Multiplicidad: La multiplicidad puede ser un número concreto, un rango o una colección de números. La letra n y el símbolo * representan cualquier número. En la figura 38 se indica que la Clase-1 tiene desde 1 hasta n instancias de la Clase-2, mientras que cada instancia de la Clase-2 tiene una instancia de la Clase-1. Fig. 38. Ejemplo de la representación de la multiplicidad en una relación entre dos clases en UML Navegabilidad: La navegación desde una clase a la otra se representa poniendo una flecha sin relleno en el extremo de la línea, indicando el sentido de la navegación. En caso de no especificar nada el sentido es bidireccional. En la figura 39 se muestra un ejemplo en el que la Clase-2 contiene un listado de instancias de la Clase-1, mientras que la Clase-1 no contiene referencias a la Clase- 2. Fig. 39. Ejemplo de la representación de la navegabilidad en una relación entre dos clases en UML Rol o nombre de la asociación: Este nombre se coloca junto al extremo de la línea que está unida a una clase, para expresar cómo esa clase hace uso de la otra clase con la que mantiene la asociación. 103

12 Fig. 40. Ejemplo de la representación del nombrado de una relación entre dos clases en UML Además, existen notaciones específicas para los otros tipos de relación, como son: Agregación: Se representa con un rombo hueco en la clase cuya instancia es una agregación de las instancias de la otra. Composición: Se representa con un rombo lleno en la clase cuya instancia contiene las instancias de la otra clase. Dependencia: Una línea discontinua con una flecha apuntando a la clase cliente. La relación puede tener un estereotipo que se coloca junto a la línea, y entre el símbolo: <<.. >>. Fig. 41. Ejemplo de la representación de una relación de dependencia entre dos clases en UML Herencia: Esta relación se representa como una línea continua con una flecha hueca en el extremo que apunta a la superclase. Fig. 42. Ejemplo de la representación de una relación de generalización o herencia entre dos clases en UML 4.2. Descripción de procesos. Los diagramas de casos de uso describen el sistema desde el punto de vista del usuario. Se basan en el conjunto de interacciones entre el usuario o usuarios y el sistema. En estos diagramas, aparecerán tres tipos de elementos: Actores: en este sistema existen dos actores, el usuario de la aplicación y el programa TRAMOS. El usuario de la aplicación es el encargado de especificar 104

13 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos los datos de la flota de vehículos y los factores de emisión y de consumo al sistema. El programa TRAMOS aporta la información correspondiente a intensidad o flujo de vehículos en cada calle, obtenida mediante la aplicación de una asignación de tráfico. Casos de Uso: Tanto los usuarios como la aplicación TRAMOS interactúan realizando una serie de tareas. Los usuarios se encargan de especificar datos que son tratados y clasificados bien por el caso de uso datos de la flota o bien por el caso de uso definición de factores de emisión/consumo. Los resultados mostrados al usuario mediante los casos de uso Informe y Representación son elaborados por el caso de uso Ejecución. Relaciones: representan el flujo de información intercambiada entre los usuarios del sistema y el propio sistema. En el caso de la aplicación desarrollada carrera se trata de la información que introduce al sistema el usuario y la herramienta TRAMOS, y los resultados a los que llega el programa. Los diagramas de casos de uso se clasifican en diferentes niveles, en función del grado de detalle con el que se represente el funcionamiento del sistema. De esta forma, los diagramas de nivel 0 representan el sistema completo con un nivel de detalle muy bajo, mientras que al aumentar el nivel, va incrementándose el grado de detalle Diagrama de casos de uso de nivel 0 El diagrama de casos de uso de nivel 0 muestra la visión mas general de las interacciones entre el sistema. Aparece como actor el usuario, que es el encargado de realizar un modelado de la flota, asignarle los distintos factores de emisión/consumo e interpretar la estimación de la contaminación debida al tráfico. También aparece otro actor, la herramienta TRAMOS, de la que la aplicación recibe datos de una asignación de tráfico para realizar el cálculo de la estimación de contaminantes. El flujo de información que transita del usuario a los módulos de Datos de Flota y Definición de factores de emisión supone la entrada de datos al sistema. El módulo de Estimación recibe los datos introducido por el usuario y los datos de TRAMOS para llevar a cado el cálculo de emisiones. Así el flujo de datos que va de los módulos Informe y Representación al usuario es la salida de datos del sistema, los resultados obtenidos tras una ejecución. 105

14 Fig. 43. Diagrama de Caso de Uso de nivel 0 del sistema. Se enumera a continuación y se explica de forma detallada cada uno de los usuarios y casos de uso que aparecen en la Figura 43. Usuario del sistema. Es el actor principal del sistema, la persona que usa la aplicación para la finalidad con que se diseñó, obtener la estimación de las emisiones contaminantes debido al tráfico urbano. Debe introducir los datos con los que se simulará el comportamiento del tráfico de la zona en estudio. Estos datos son una clasificación de los vehículos que van a ser estudiados con los factores de emisión y de consumo asociados a cada categoría de vehículos. Evidentemente, el usuario será por tanto el encargado de recolectar los diferentes resultados, de interpretarlos, etc. TRAMOS. El sistema usará los resultados de una asignación de tráfico de la zona en estudio para llevar a cabo la estimación de contaminantes. Estos datos son enviados a la aplicación por el programa TRAMOS. Casos de uso: Datos de la flota. Es el escenario donde el usuario especifica las distintas categorías de vehículos existentes, así como los porcentajes que cada una supone en el árbol de probabilidad. Factores de emisión / consumo. Este caso de uso permite al usuario del sistema asociar a cada categoría de vehículos un factor de emisión y si procede también un factor de consumo. Estimación. Es el módulo en el que se realiza la estimación de las emisiones contaminantes. Para ello además de los datos introducidos por el usuario, usa los datos de una asignación de tráfico realizada por la aplicación TRAMOS. Informe. Recoge y ordena los datos de la estimación y se los presenta al usuario de forma desagregada por tramos. 106

15 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Representación de resultados. Muestra los resultados de forma gráfica por tipo de contaminante sobre el viario Diagrama de casos de uso de nivel 1. En el segundo diagrama de casos de uso se muestra una visión más específica del procedimiento, centrada ya en los diferentes casos de uso de la aplicación Datos de la flota. Flota. La Figura 44 recoge una descripción más detallada del caso de uso Datos de la Fig. 44. Diagrama de Caso de Uso de nivel 1 del módulo Datos de la Flota El actor del diagrama es el usuario del sistema que se encarga de introducir los datos de la flota en el sistema. En este diagrama se pueden distinguir a su vez tres casos de usos. Categoría de vehículos. Módulo en el que el usuario introduce las distintas categorías de vehículos. Porcentajes de categorías. Para cada categoría definida es preciso introducir el porcentaje que esta categoría supone en el total de vehículos que conforman el parque de la zona en estudio. Administración del árbol de probabilidades. Cuando se introduce una categoría de vehículos y su porcentaje respectivo, la categoría ya completa se añade al árbol de probabilidades mediante este módulo cuando se activa por el usuario. También permite borrar categorías del árbol de probabilidades. Otra función de este módulo es comprobar que la categoría no haya sido incluida previamente en el árbol y que el porcentaje introducido sea coherente. 107

16 Definición de factores de emisión / consumo. El diagrama de uso que permite la Definición de factores de emisión / consumo se divide a su vez en varios diagramas como muestra la siguiente figura. Representación Definición de factores de emisión / consumo Definición Factores Administración Listas Factores Usuario Selección cat. vehículo Asociación / desasociación de factores Fig. 45. Diagrama de Caso de Uso de nivel 1 del módulo Definición de factores de emisión y de consumo. En este diagrama de uso, el actor es el usuario del sistema que se vale de este módulo para definir factores de emisión y de consumo, validarlos y asociarlos a una categoría definida de vehículos. Diagramas de usos que componen este módulo: Definición de factores. Permite definir un factor (función), los rangos de velocidades en el que es válido y el tipo de factor que define (contaminantes / consumo). Representación. Permite representar los factores definidos con el módulo de definición de factores. Administración de las listas de factores. Puede ser llamado por el usuario para que incorpore un factor válido a la lista correspondiente. Será el módulo de definición de factores quien informe del tipo de factor que se trata. Comprueba que el factor de emisión/consumo definido es válido, es decir, no existe factor otro similar en la lista y la función que lo define está bien construida. Además llama al módulo de representación para que en el caso de que la función sea válida, el usuario compruebe mediante la representación gráfica que es la función que pretendía incorporar. En otros casos el usuario puede acceder a este módulo para seleccionar un factor que quiera asociar a una categoría de vehículos. Otra 108

17 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos de las funciones de este módulo es eliminar factores de emisión/consumo de su lista correspondiente Selección de categoría de vehículos. Como su propio nombre indica permite seleccionar una categoría concreta de vehículos para posteriormente asociarle factores de emisión / consumo. Asignación. Permite asociar asociar/desasociar un factor de emisión/consumo de la categoría de vehículos seleccionada. También comprueba que los factores asociados a la categoría tengan rangos de velocidades que no se solapen Estimación de contaminantes. Este módulo es el encargado de realizar los cálculos para la estimación de emisiones contaminantes. Su diagrama de uso de nivel 1 se muestra en la figura adjunta. Fig. 46. Diagrama de Caso de Uso de nivel 1 del módulo de Estimación de emisiones contaminantes Los casos de uso que se especifican para la figura 46 están relacionados con los cálculos que se llevan a cabo para obtener la estimación de emisiones contaminantes en la zona en estudio. De nuevo aparece la figura del usuario, aunque en este caso su única función es poner en marcha el proceso. El módulo también tiene como actor a la aplicación TRAMOS, que aporta, tras una asignación de tráfico, la intensidad de vehículos de cada tramo así como la función VR que caracteriza cada vía. Los datos sobre la flota de vehículos, así como sus factores asociados fueron almacenados tras la ejecución del módulo definición de los factores de emisión. son: Los diagramas de uso que componen el módulo de estimación de contaminantes 109

18 Inicia proceso. Este módulo es activado por el usuario. Una vez que el usuario da la señal se pone en marcha todo el proceso de estimación de emisiones contaminantes. Lectura de datos TRAMOS. Lee y almacena datos provenientes del programa TRAMOS para cada vía de la zona en estudio. Datos: intensidad de vehículos, funciones VR, longitud de la vía, etc. Cálculo de emisiones por tramo. Para cada tramo calcula las emisiones contaminantes emitidos por cada categoría de vehículos definida. Este cálculo lo realiza sustituyendo la velocidad media del tramo en los distintos factores de emisión/contaminantes de cada categoría de vehículos. Almacenamiento de resultados. Una vez realizados los cálculos, el programa almacena los resultados tanto de forma agregada (para todo el tramo y todas las categorías de vehículos), como de forma desagregada (por tramo y tipo de vehículo) Informe. El caso de uso que se presenta en este apartado sirve para mostrar los resultados de la estimación de contaminantes. El usuario tiene la opción de elegir el tramo en el que quiere visualizar los resultados. También es posible visualizar los resultados de forma agregada para todo el viario. La figura 46 muestra el diagrama de uso para este caso. Fig. 47. Diagrama de Caso de Uso de nivel 1 del módulo Informe. Los diagramas de uso que componen el módulo informen son: Selección de tramo. También es posible seleccionar todo el viario. Permite al usuario indicar el tramo donde quiere visualizar los resultados de la estimación de contaminantes. 110

19 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Organización de resultados. Tiene como misión ordenar las listas de resultados y seleccionar únicamente los resultados que el usuario ha pedido. Visualización de resultados. Escribe en pantalla los resultados de forma ordenada Representación de resultados. El caso de uso que se presenta en este apartado sirve para mostrar los resultados de la estimación de contaminantes de forma gráfica sobre el viario. El usuario tiene la opción de elegir el tipo de contaminante que quiere representar. La figura 48 muestra el diagrama de uso para este caso. Fig. 48. Diagrama de Caso de Uso de nivel 1 del módulo Representación gráfica de resultados. Los diagramas de uso que componen el módulo informen son: Selección de contaminante. Permite al usuario indicar el contaminante que quiere visualizar. Organización de resultados. Tiene como misión ordenar las listas de resultados y seleccionar únicamente los resultados del contaminante que el usuario ha pedido. Visualización de resultados. Representa mediante código de colores los resultados sobre el viario Diagrama de casos de uso de nivel 2. En el diagrama de casos de uso de nivel 2 se muestra una mayor concreción, mostrando una subdivisión de los casos de uso representados en el nivel 1. Permiten una 111

20 visión más concreta de las interacciones existentes entre los distintos actores y casos de uso del sistema. Nuevamente los actores de los distintos casos de uso serán, el usuario, que es el encargado de realizar un modelado de la flota, asignarle los distintos factores de emisión/consumo e interpretar la estimación de la contaminación debida al tráfico; y la herramienta TRAMOS, de la que la aplicación recibe datos de una asignación de tráfico para realizar el cálculo de la estimación de contaminantes Datos de la flota. En la Figura 49 se muestra el diagrama de uso de nivel 2 del módulo Datos de Flota. Este diagrama muestra una subdivisión de los casos de uso representados en el nivel 1. Fig. 49. Diagrama de Caso de Uso de nivel 2 del módulo Datos de la Flota El actor del diagrama es el usuario del sistema que se encarga de introducir los datos de la flota en el sistema. En este diagrama se pueden distinguir a su vez los siguientes casos de usos. Categoría de vehículos. Módulo en el que el usuario introduce las distintas categorías de vehículos. Este diagrama de uso está dividido a su vez en tres diagramas: 112

21 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos o Especificación de tipo. Para indicar si el vehículo es turismo, motocicleta o camión. o Especificación de clase. Tipo de combustible y cilindrada en el caso que proceda. o Especificación de legislación. Indica la antigüedad del vehículo. Porcentajes de categorías. Para cada categoría definida es preciso introducir el porcentaje que esta categoría supone en el total de vehículos que conforman el parque de la zona en estudio. Administración del árbol de probabilidades. Tiene tres funciones representadas por los tres diagramas de uso que aparecen en la Figura 49. o Adición de categoría al árbol de vehículos. Cuando el usuario ha rellenado el tipo, clase, legislación y porcentaje de una categoría de vehículos activa este módulo para añadir la categoría al árbol de probabilidades. Este módulo llama a su vez al módulo de validación de categoría para que compruebe si la categoría está bien definida (todos los campos están completos) y no existe ya en el árbol. Si el módulo de validación comprueba que todo está correcto da la señal para que la categoría se añada, por lo que el módulo de adición añade la categoría. En caso contrario se da un mensaje de error y la categoría se desecha. o Validación. Comprueba por un lado si una categoría de vehículos está bien definida (todos los campos están completos) y por otro que la categoría no forme parte del árbol de vehículos. o Eliminación de la categoría del árbol de probabilidades Definición de factores de emisión / consumo. El diagrama de uso que permite la Definición de factores de emisión / consumo se divide a su vez en varios diagramas. La Figura 50 muestra una subdivisión de los casos de uso representados en el nivel

22 Fig. 50. Diagrama de Caso de Uso de nivel 2 del módulo Definición de factores de emisión y de consumo. En este diagrama de uso, el actor es el usuario del sistema que se vale de este módulo para definir factores de emisión y de consumo, validarlos y asociarlos a una categoría definida de vehículos. Se estudian a continuación los distintos diagramas de usos que componen este módulo: Definición de factores. Módulo que define completamente un factor de emisión/consumo. Se divide en los siguientes diagramas de uso: o Definición de función o Definición de intervalos de velocidades en el que es válido el factor o Tipo de factor que define (contaminantes / consumo). Representación. Permite representar un factor definido con el módulo de definición de factores. Administración de las listas de factores. 114

23 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos o Validación. Comprueba que un factor de emisión/consumo definido mediante el módulo de definición de factores es válido, es decir, no existe factor otro similar en la lista y la función que lo define está bien construida. Además llama al módulo de representación para que en el caso de que la función sea válida, el usuario compruebe mediante la representación gráfica que es la función que pretendía incorporar. Si la función es válida hace una llamada al módulo de Añadir factor para que incluya al factor en la lista correspondiente. o Añadir factor. Es llamado por el usuario del sistema para incorporar un factor a la lista correspondiente. Si el factor es válido ejecutará la operación, en caso contrario dará un mensaje de error. Será el módulo de definición de factores quien informe del tipo de factor que se trata. o Eliminación de factores de emisión/consumo de su lista correspondiente. o Selección de un factor para asociar a una categoría de vehículos. Selección de categoría de vehículos. Permite seleccionar una categoría concreta de vehículos para posteriormente asociarle factores de emisión / consumo. Se compone de los siguientes módulos. o Especificación de tipo. Para indicar si el vehículo es turismo, motocicleta o camión. o Especificación de clase. Tipo de combustible y cilindrada en el caso que proceda. o Especificación de legislación. Indica la antigüedad del vehículo. Asociación/Desasociación de factores. o Asociación de factores a una categoría de vehículos. El usuario selecciona una categoría de vehículos y un factor de emisión/consumo y usa este módulo para asociar ambos elementos. La operación se realizará si el módulo de validación asegura la compatibilidad del rango de velocidades de los factores ya definidos para esa categoría y el factor que se quiere asociar. En caso contrario se dará un error. o Validación de intervalo de velocidades. Comprueba que los factores asociados a la categoría tengan rangos de velocidades que no se solapen. o Desasociación un factor de emisión/consumo de la categoría de vehículos seleccionada Estimación de contaminantes. Este módulo es el encargado de realizar los cálculos para la estimación de emisiones contaminantes. Su diagrama de uso de nivel 2 se muestra en la figura adjunta. 115

24 Inicia Proceso Lectura datos TRAMOS Usuario TRAMOS, Asignación de tráfico Selección de cat. de vehículo Lectura factores emisión/consumo Actualización variables tramo Cálculo de velocidad media tramo Cálculo de contaminantes por tramo Estimación de emisiones Almacenamiento de resultados desagregados Estimación de emisiones contaminantes Almacenamiento de resultados agregados Almacenamiento de resultados Fig. 51. Diagrama de Caso de Uso de nivel 2 del módulo de Estimación de emisiones contaminantes Los actores que aparecen en este módulo son: o El usuario, cuya única misión es poner en marcha el proceso. o La aplicación TRAMOS, que aporta, tras una asignación de tráfico, los datos de cada tramo del viario. son: Los diagramas de uso que componen el módulo de estimación de contaminantes Inicia proceso. Este módulo es activado por el usuario. Una vez que el usuario da la señal se pone en marcha todo el proceso de estimación de emisiones contaminantes. 116

25 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Lectura de datos TRAMOS. Lee y almacena datos provenientes del programa TRAMOS. Selección de tramos. El cálculo de la estimación de contaminantes se realiza tramo a tramo. Este módulo es el encargado de ir seleccionando cada tramo. Cálculo de emisiones por tramo. o Actualización de variables. La lista de variables almacena todas las variables que el sistema usa para estimar las expresiones del sistema. En cada tramo este módulo actualiza el valor de las variables del sistema, necesarias para realizar la estimación de contaminantes. o Calcula velocidad media. Usando la función VR y la intensidad de cada tramo estima el tiempo medio que tarda un vehículo en atravesar el tramo. Dividiendo la longitud del tramo entre el tiempo que se tarda en atravesarlo se obtiene la velocidad media a la que circulan los vehículos por el tramo. o Selección de categoría de vehículos. Los datos sobre la flota de vehículos, así como sus factores asociados fueron almacenados tras la ejecución del módulo definición de los factores de emisión. El módulo Selección de categoría de vehículos lee esta información para seleccionar una categoría de vehículos. o Lectura de factores de emisión/consumo. o Estimación de emisiones. Para cada categoría de vehículos definida calcula las emisiones contaminantes para el tramo con que se ha llamado al módulo. Este cálculo lo realiza sustituyendo la velocidad media del tramo en el factor de emisión/consumo compatible (la velocidad media del tramo entra dentro del rango de velocidades en el que se define el factor) de la categoría de vehículos. El valor de contaminantes obtenido para una categoría de vehículos es multiplicado por el número de vehículos de ese tipo que circulan por el tramo y también por la longitud del tramo. Así se obtienen para cada categoría de vehículos, los contaminantes emitidos por cada tramo. Almacenamiento de resultados. Una vez realizados los cálculos, el programa almacena los resultados tanto de forma agregada, como de forma desagregada. o Almacenamiento de forma agregada: para todo el tramo y todas las categorías de vehículos o Almacenamiento de forma desagregada: por tramo y tipo de vehículo 117

26 Informe. El módulo Informe muestra los resultados de la estimación de contaminantes calculada mediante el módulo de Estimación. Las operaciones realizadas son muy simples por lo que no se requiere de más detalle en los casos de uso que los mostrados en el nivel Representación de resultados. El caso de uso que se presenta en este apartado sirve para mostrar los resultados de la estimación de contaminantes de forma gráfica sobre el viario. Como en el apartado anterior las operaciones realizadas son muy simples por lo que no se requiere de más detalle en los casos de uso que los mostrados en el nivel Diagrama de flujo. Un diagrama de flujo es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación Principales símbolos de los diagramas de flujo. Estandarizados según ISO 5807 No es indispensable usar un tipo especial de símbolos para crear un diagrama de flujo, pero existen algunos ampliamente utilizados por lo que es adecuado conocerlos y utilizarlos, ampliando así las posibilidades de crear un diagrama más claro y comprensible para crear un proceso lógico y con opciones múltiples adecuadas. Flecha. Indica el sentido y trayectoria del proceso de información o tarea. Rectángulo. Se usa para representar un evento o proceso determinado. Éste es controlado dentro del diagrama de flujo en que se encuentra. Es el símbolo más comúnmente utilizado. Rectángulo redondeado. Se usa para representar un evento que ocurre de forma automática y del cuál generalmente se sigue una secuencia determinada. Rombo. Se utiliza para representar una condición. Normalmente el flujo de información entra por arriba y sale por un lado si la condición se cumple o sale por el lado opuesto si la condición no se cumple. Lo anterior hace que a partir de éste el proceso tenga dos caminos posibles. Círculo. Representa un punto de conexión entre procesos, se utiliza cuando es necesario dividir un diagrama de flujo en varias partes, por ejemplo por razones 118

27 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos de espacio o simplicidad. Una referencia debe de darse dentro para distinguirlo de otros. La mayoría de las veces se utilizan números en los mismos. Existen además una variedad de formas especiales para denotar las entradas, las salidas, los almacenamientos, etcétera. Fig. 52. Diagrama de flujo en el cual se emplean los símbolos más comunes Uso de los diagramas de flujo. Los diagramas de flujos se usan para mostrar la secuencia de operaciones que se siguen en el programa para conseguir una estimación de la contaminación de la zona en estudio Pasos previos. Como comentó anteriormente, la herramienta Estimación de contaminantes forma parte de la aplicación TRAMOS, siendo un módulo de la misma. Por tanto, el primer paso a seguir para conseguir la estimación es arrancar el programa TRAMOS. Posteriormente se cargará el escenario en el que se estudiarán los contaminantes. Cuando el programa carga un escenario, de forma automática realiza una asignación de tráfico a ese escenario, por lo que los datos que el módulo de estimación necesita ya están cargados en memoria y listos para ser leídos y usados. Llegados a este punto se carga el módulo Estimación de contaminantes y se procede a introducir los datos necesarios para llevar a cabo una estimación de los contaminantes en el escenario que se ha cargado. 119

28 4.3.4 Datos de la flota. Los primeros datos que el usuario ha de introducir en la aplicación es la flota de vehículos sobre la que se realizará el estudio. Normalmente esta flota será el Parque de Vehículos de la zona en estudio, aunque es posible realizar un estudio de los contaminantes que produce sólo una parte del parque automotor. Definición de tipo de vehículo Definición de clase de vehículo Definición de legislación Definición porcentaje categoría Validación de la categoría Adición de categoría al árbol de probabilidades Fig. 53. Diagrama de flujo para la introducción de datos en la Flota de Vehículos. En el módulo de Datos de la Flota se pueden realizar dos operaciones: Añadir categorías al árbol de probabilidades y eliminar categorías del árbol de probabilidades. Los pasos a seguir para añadir una categoría al árbol de probabilidades se muestran en la Figura 53 mediante un diagrama de flujo. 1. Especificación de la categoría de vehículos Especificación de tipo de vehículo Especificación de clase de vehículo Especificación de legislación 2. Especificación del porcentaje que supone la categoría de vehículos. 3. Adición de la categoría al árbol de probabilidades 3.1. Lectura de la categoría de vehículos Lectura del porcentaje que supone la categoría 3.3. Validación de la categoría El módulo de validación informa del resultado. Si la categoría es válida el módulo de adición la añade, en caso que no lo sea da un error. Para eliminar categorías del árbol de probabilidades se seleccionan en el árbol y se usa el módulo de eliminación de categorías. 120

29 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Definición de factores de emisión/consumo. El usuario asocia a cada categoría de vehículos definida los factores de emisión/consumo que definen la contaminación producida por dicha categoría. Aparte de esta función, que es la principal que realiza el módulo, se pueden realizar otras funciones, como puede ser la representación de funciones. A continuación de definen todas las posibles operaciones que realiza el módulo y los pasos para llevar a cabo cada una de ellas. Definición de un factor de emisión/consumo (Figura 54). Función Intervalo de velocidad Tipo de factor Añadir factor Validación Representación Fig. 54. Diagrama de flujo para la definición de factores de emisión/consumo. Definición de la función que concreta el factor. Definición de los intervalos de velocidad en los que el factor es válido. Tipo de factor, emisión o consumo. Añadir el factor definido a la lista. Se añadirá o no dependiendo del resultad del proceso de validación. Si es válido (definido completamente y de forma coherente) se añade a la lita correspondiente. En caso contrario se da error. Validación. Realiza una llamada al módulo de representación, que será el que determine si la función que define al factor es válida. El módulo de validación comprueba que el factor no forme ya parte de la lista y que los intervalos estén correctamente definidos Representación. 121

30 Asociación del factor a una categoría de vehículos Contaminante Tipo de vehículo Clase de vehículo Legislación Factor emisión/ consumo Asociar factor Validación de intervalo de velocidades Fig. 55. Diagrama de flujo para la asociación de factores Especificación del contaminante. Especificación de tipo de vehículo. Especificación de clase de vehículo. Especificación de legislación. Selección del factor a asociar. Asociación de factores. Si el módulo de validación responde que es posible la asociación. En caso contrario se da un mensaje de error Validación de los intervalos de velocidades. Se comprueba que el nuevo factor tenga un intervalo de velocidad compatible con los ya asociados a la categoría. Representación de una función. Se define la función y se usa el módulo de representación. No es necesario especificar los intervalos de validez del factor. Eliminación de un factor. Se selecciona y se usa el módulo de eliminación de un factor de la lista. Desasociación de un factor de una categoría de vehículos. Se selecciona la categoría. Una vez seleccionada se indica el factor a eliminar y se usa el módulo de desasociación. 122

31 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Estimación de contaminantes. Este módulo es el encargado de realizar los cálculos para la estimación de emisiones contaminantes. El usuario tiene como única misión poner en marcha el proceso. A partir de aquí la aplicación realiza los cálculos oportunos usando los datos que anteriormente fue introduciendo el usuario, y los datos de la asignación de tráfico realizada por TRAMOS. El diagrama de flujo se muestra en la Figura 56. Fig. 56. Diagrama de flujo del módulo de Estimación de contaminantes. 123

32 Pasos que sigue la aplicación, mostrados en el diagrama de flujo: 1. Inicia proceso. El usuario da la orden de puesta en marcha. 2. Acceso a los datos de la herramienta TRAMOS para la lectura de datos. 3. Lectura de datos de una asignación de tráfico de la zona en estudio 4. Selección de un tramo de la zona y lectura de sus variables. 5. Actualización del valor de las variables de la lista de variables del sistema con los datos del tramo, intensidad de vehículos, función VR, longitud de la vía, etc. 6. A partir de los datos del tramo se calcula la velocidad media a la que circulan los vehículos por el tramo. 7. Selección de una categoría de vehículos. 8. Lectura de sus factores de emisión/consumo. 9. Envío de datos al módulo de estimación de emisiones y estimación. 10. Almacenamiento de los resultados por categoría de vehículo y tramo. 11. Selección de nueva categoría de vehículos. Una vez seleccionadas todas las categorías se almacenan los resultados de forma agregada para todo el tramo. 12. Selección de un nuevo tramo. El proceso continúa del punto hasta que se han seleccionado todos los tramos Informe. El módulo Informe muestra los resultados de la estimación de contaminantes calculada mediante el módulo de Estimación. 124

33 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Fig. 57. Diagrama de flujo del módulo Informe. Selección de tramo. También es posible seleccionar todo el viario. Permite al usuario indicar el tramo donde quiere visualizar los resultados de la estimación de contaminantes. Organización de resultados. Ordena las listas de resultados y selecciona los resultados que el usuario ha pedido. Presentación de resultados. Escribe en pantalla los resultados de forma ordenada Representación de resultados. Este módulo muestra los resultados de la estimación de contaminantes de forma gráfica sobre el viario. El usuario tiene la opción de elegir el tipo de contaminante que quiere representar. Fig. 58. Diagrama de flujo del módulo Representación de resultados. 125

34 Selección de contaminante. Módulo para elegir el contaminante a representar Organización de resultados. La aplicación lee y organiza los datos para la presentación de los resultados. Visualización de resultados. Representa mediante código de colores los resultados sobre el viario Diagrama de clases del sistema. En este apartado se describen las principales clases construidas para el desarrollo de la aplicación así como la relación existente entre ellas mediante el diagrama de clases general. De forma genérica una clase de la aplicación se detallará como sigue: Descripción de la clase. Explica la información que almacena la clase y su propósito. Enumeración y descripción de los atributos de la clase. Los atributos indican características de la clase. Pueden tener asignado un valor por defecto. Métodos que define la clase. Describen el comportamiento del objeto. Los métodos usados se pueden agrupar en cinco tipos: o Constructores. Todas las clases definirán el constructor vacío que asigna a los atributos su valor por defecto. Además se definirá otro constructor que permitirá asignar valores a los atributos siempre que éstos sean coherentes. o Métodos para recuperar el valor de los atributos. Se definirán tantos métodos de este tipo como atributos posea la clase. Su función es recuperar el valor actual de los atributos. o Métodos para actualizar el valor de los atributos. Como en el caso anterior se definirán tantos métodos de este tipo como atributos posea la clase. Su función es actualizar el valor de los atributos. o Sobrecarga de operadores. Siempre se sobrecargarán los operadores = y ==. Es decir, en cada clase será posible asignar el valor de un objeto a otro mediante el operador =, y comparar dos objetos de la misma clase con el operador ==. o Funciones auxiliares. Permiten realizar diferentes operaciones sobre los atributos. Especificación de la clase en lenguaje UML. 126

35 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Clase Factor. Almacena la relación entre un tipo de contaminante y sus factores de emisión y de consumo. Es decir, para un tipo de contaminante especificado (NO x, CO, COV, SO 2, CO 2, N 2 O, etc.) almacena información que permite recuperar sus factores de emisión y de consumo de las listas de factores definidas en el sistema. Cuando se define la clase que describe una categoría de vehículo se especifica que cada objeto tiene asignada una lista de nodos Factor para definir los factores de emisión y de consumo asociados a esa categoría de vehículos. Los atributos que define la clase Factor son los que siguen: Contaminante : String. Especifica el contaminante al que hace referencia el objeto indice : Integer. Índice a la lista de factores de emisión de contaminantes. Permite acceder al factor. El valor por defecto es -1, es decir, no apunta a ningún elemento de la lista iconsumo : Integer. Índice a la lista de factores de consumo. Su valor por defecto es -1. Los métodos definidos por la clase Factor son Constructores. o Factor (). Constructor vacío. Permite instanciar un objeto de la clase Factor con el valor de los atributos a su valor por defecto. o Factor ( nombre : String, i : Integer, j : Integer). Crea un objeto de la clase Factor asignando valores a sus atributos Métodos para recuperar el valor de los atributos. o Contaminante () : String. Método que devuelve el valor del atributo contaminante o Indice () : Integer. Devuelve el valor del atributo indice. o IndiceConsumo () : Integer. Devuelve el valor del atributo iconsumo. Métodos para actualizar el valor de los atributos. o ActualizaContaminante ( nombre : String). Asigna al atributo contaminante el valor nombre. o ActualizaIndice ( j : Integer). Asigna al atributo indice el valor i. o ActualizaIndiceConsumo ( j : Integer). Asigna al atributo iconsumo el valor j. 127

36 Sobrecarga de operadores. o operator== ( c : Factor) : Boolean. Operador comparador. Devuelve cierto si el objeto que llama al método tiene el mismo valor en sus atributos que el objeto c. o operator= ( c : Factor) : Factor. Asigna a los atributos del objeto que llama al método, los valores de los atributos del objeto c. Funciones auxiliares. No se definen para esta clase. Especificación en lenguaje UML de la clase Factor. Fig. 59. Especificación de la clase Factor Clase Vehículo1. Una categoría de vehículo se describe mediante la siguiente información: Tipo de vehículo: turismo, camión o motocicleta. Clase de vehículo. Hace referencia al combustible consumido y a la cilindrada del vehículo. Por ejemplo: vehículo de gasolina con una cilindrada de 1.4 a 2.0 litros. Legislación o antigüedad del vehículo. Periodo en el que se matriculó el vehículo. Porcentaje que supone la categoría de vehículo en el total de vehículos que componen el árbol de probabilidades. Factores de emisión y de consumo asociados a la categoría de vehículo. La clase Vehiculo1 almacena la información necesaria para especificar una categoría de vehículos de forma exacta e inequívoca. Atributos que define la clase Vehiculo1: 128

37 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos tipo : String. clase : String. legislacion :String. porcentaje : Double. Valor por defecto, 0. listafactores : Lista<Factor>. Cada categoría de vehículos tiene asignada una lista de nodos de la clase Factor. Cada nodo especifica para un contaminante concreto un factor de emisión y un factor de consumo. No se ha definido una tabla de factores de tamaño igual al número de contaminantes estudiados porque para un mismo contaminante se pueden definir varios factores de emisión/consumo siempre que sus rangos de velocidades no se superpongan. El valor por defecto es NULL. Los métodos definidos por la clase Vehiculo1: Constructores. o Vehiculo1 (). Constructor vacío. Permite instanciar un objeto de la clase con el valor de los atributos a su valor por defecto. o Vehiculo1 ( t : String, c : String, l : String, p : Double). Crea un objeto de la clase Vehiculo1 asignando valores a sus atributos. No se permite instanciar un objeto usando una lista de factores ya definida en el sistema para evitar problemas futuros de coherencia, especialmente lo que se refiere a compatibilidad de los rangos de velocidades de los factores de emisión / consumo. Métodos para recuperar el valor de los atributos. Se definen tantos métodos de este tipo como atributos posee la clase. Su función es recuperar el valor actual de los atributos. o Tipo() : String. o Clase() : String. o Legislacion() : String. o Porcentaje() : Double. o ListaFactores(): Lista <Factor>. Métodos para actualizar el valor de los atributos. o ActualizaTipo ( nombre : String). o ActualizaClase ( nombre : String). 129

38 o ActualizaLegislacion ( nombre : String). o ActualizaPorcentaje ( p : Double). o ActualizaListaFactores ( lf : Lista<Factor>). Sobrecarga de operadores. o operator== ( c : Vehiculo1) : Boolean. Se considera que dos categorías de vehículos son iguales si son del mismo tipo, clase y legislación. Es decir, los atributos porcentaje y listafactores no influyen en el método de comparación. o operator= ( c : Vehiculo1) : Vehiculo1. Asigna a los atributos del objeto que llama al método, los valores de los atributos del objeto c. Funciones auxiliares. o Grabar_informacion_cont ( f : FILE). Permite almacenar un objeto de la clase Vehiculo1 en un fichero. o Cargar_informacion_cont ( f : FILE). Permite cargar un objeto de la clase Vehiculo1 desde un fichero. Especificación en lenguaje UML de la clase Vehiculo1. Fig. 60. Especificación de la clase Vehiculo1. 130

39 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Clase ExpresionCont. Un factor de emisión / consumo es una función definida en un intervalo de velocidades concreto y susceptible de ser evaluado dando valores a sus variables. La clase ExpresionCont almacena la información necesaria para definir un factor de emisión / consumo de forma inequívoca. Atributos que define la clase. intervaloinf : Double. Extremo inferior del intervalo de velocidades en el que se define el factor. intervalosup : Double. Extremo superior del intervalo de velocidades en el que se define el factor. expresion : String. Función que define el factor de emisión / consumo en formato texto codigo : Integer. Índice a la lista de expresiones. Permite recuperar la función que define al factor usando una estructura de datos susceptible de ser evaluada mediante sus variables. Por defecto tiene el valor -1, es decir, no apunta a ningún elemento de la lista de expresiones. Métodos definidos por la clase ExpresionCont: Constructores. o ExpresionCont (). Constructor vacío. Permite instanciar un objeto de la clase con el valor de los atributos a su valor por defecto. o ExpresionCont ( ii : Double, is : Double, exp : String, c : Integer). Crea un objeto de la clase ExpresionCont asignando valores a sus atributos. Métodos para recuperar el valor de los atributos. Se definen tantos métodos de este tipo como atributos posee la clase. Su función es recuperar el valor actual de los atributos. o Expresion () : String. o IntervaloInf () : Double. o IntervaloSup () : Double. o Codigo() : Integer. o Métodos para actualizar el valor de los atributos. o ActualizaIntervalos (a : Double, b : Double). 131

40 o ActualizaCodigo (cod : Integer). o ActualizaExpresion ( exp : String ). Sobrecarga de operadores. o operator== ( c : ExpresionCont) : Boolean. o operator= ( c : ExpresionCont) : ExpresionCont. Funciones auxiliares. o CodigoCorrecto ( c : Integer ) : Boolean. Devuelve cierto si el código del objeto que llama al método tiene valor c. o BuscarElemento ( c : Integer, &encontrado : Boolean). : ExpresionCont. El método compara el valor del código del objeto que hace la llamada con c. Si son iguales activa la bandera encontrado y devuelve una instancia de sí mismo. En caso contrario deja la bandera a no cierto y devuelve un objeto cuyos atributos poseen el valor por defecto. Especificación en lenguaje UML de la clase ExpresionCont. Fig. 61. Especificación de la clase ExpresionCont Clase ContaminantesTramos. Almacena la información de la estimación de consumo que existe en un tramo de forma agregada, es decir, la información de estimación de contaminación en un tramo no diferencia entre distintas categorías de vehículos. Atributos que define la clase. 132

41 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos cod_linea: Integer. Es la forma de nombrar al tramo, mediante un código. Valor por defecto, -1. velocidad_media : Double. Velocidad media de los vehículos que circulan por el tramo. Valor por defecto, 0. valorcontaminantes : Double[NCONTAMINANTES]. Tabla donde se almacena el valor de los contaminantes estimados en el tramo. Tiene tantas posiciones como contaminantes se estimen en la aplicación. Este número viene determinado por la constante NCONTAMINANTES. Valor por defecto, 0 en cada posición de la tabla. intensidad : Double. Intensidad de vehículos que atraviesan el tramo. Valor por defecto, 0. longitud : Double. Longitud del tramo. Valor por defecto, 0. tiempo_viaje : Double. Tiempo medio de viaje que se emplea en recorrer el tramo. Viene determinado por la división entre la longitud del tramo y la velocidad media de los vehículos que lo atraviesan. Valor por defecto, 0. funcion : Integer. Índice de la función volumen-retraso que caracteriza al tramo. Con este índice localizamos la función en la lista de funciones V-R. valor por defecto -1. Métodos definidos por la clase ContaminantesTramos: Constructores. o ContaminantesTramos (). Constructor vacío. Permite instanciar un objeto de la clase con el valor de los atributos a su valor por defecto. o ContaminantesTramos (cod : Integer, vm : Double, valorc : Double[NCONTAMINANTES], i : Double, l : Double, tv : Double, f : Integer). Crea un objeto de la clase ExpresionCont asignando valores a sus atributos. Métodos para actualizar el valor de los atributos. Se definirán tantos métodos de este tipo como atributos posee la clase. Su función es recuperar el valor actual de los atributos. o Cod_linea() : Integer. o Velocidad_media() : Double. o ValorContaminantes ( c : String). Devuelve el valor de la estimación de contaminantes para el contaminante de nombre c. o ValoresContaminantes() : Double[NCONTAMINANTES]. o Intensidad() : Double. 133

42 o Tiempo_viaje () : Double. o Longitud() : Double. o Funcion() : Integer. Métodos para recuperar el valor de los atributos. o Actualiza_cod_linea ( a : Integer). o Actualiza_velocidad_media ( a : Double). o Actualiza_intensidad ( a : Double). o ActualizaValorContaminantes ( a : Double, c : String). Actualiza el valor del contaminante de nombre c. o ActualizaValoresContaminantes(a : Double[NCONTAMINANTES]) o Actualiza_longitud ( l : Double). o Actualiza_tiempo_viaje ( t : Double). o Actualiza_funcion ( F : Integer). Sobrecarga de operadores. o operator== ( c : ContaminantesTramos) : Boolean. o operator= ( c : ContaminantesTramos) : ContaminantesTramos. Funciones auxiliares. No se definen para esta clase. Especificación en lenguaje UML de la clase ContaminantesTramos. 134

43 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Fig. 62. Especificación de la clase ContaminantesTramos Clase ContaminantesPorVehiculo Almacena la información de estimación de contaminación desagregada por tramo y tipo de vehículo. Atributos que define la clase. valorcontaminantes : Double[NCONTAMINANTES]. Tabla donde se almacena el valor de los contaminantes estimados en el tramo de código codtramo para la categoría de vehículo que ocupa la posición posvehiculo de la lista de vehículos. Tiene tantas posiciones como contaminantes se estimen en la aplicación. Este número viene determinado por la constante NCONTAMINANTES. Valor por defecto, 0 en cada posición de la tabla. posvehiculo : Integer. Posición que ocupa el vehículo en la lista de vehículos codtramo : Integer. Código del tramo en el que se estiman los contaminantes. Métodos definidos por la clase ContaminantesPorVehiculo: Constructores. o ContaminantesPorVehiculo (). o ContaminantesPorVehiculo ( pos : Integer, cod : Integer, valorc : Double[NCONTAMINANTES]). Métodos para recuperar el valor de los atributos. 135

44 o PosVehiculo() : Integer. o CodTramo() : Integer. o ValorContaminantes ( c : String). Devuelve el valor de la estimación de contaminantes para el contaminante de nombre c. o ValoresContaminantes () : Double[NCONTAMINANTES]. Métodos para actualizar el valor de los atributos. o ActualizaPosicion ( p : Integer). o ActualizaCodigo ( c : Integer). o ActualizaValorContaminantes ( a : Double, c : String). Actualiza el valor del contaminante de nombre c. o ActualizaValoresContaminantes(a : Double[NCONTAMINANTES]) Sobrecarga de operadores. o operator== ( c : ContaminantesPorVehiculo) : Boolean. El método considera que dos objetos de la clase ContaminantesPorVehiculo son iguales si tienen el mismo código del tramo y ocupan la misma posición en la lista de vehículos, independientemente del valor de los contaminantes. o operator= (c : ContaminantesPorVehiculo) : ContaminantesPorVehiculo. Funciones auxiliares. No se definen para esta clase. Especificación en lenguaje UML de la clase ContaminantesPorVehiculo. Fig. 63. Especificación de la clase ContaminantesPorVehiculo. 136

45 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Clase ContPorVehiculoAgregado. Almacena la información de estimación de contaminación desagregada por tipo de vehículo y agregada para todo el viario. Atributos que define la clase. valorcontaminantes : Double[NCONTAMINANTES]. Tabla donde se almacena el valor de los contaminantes estimados en viario para la categoría de vehículo que ocupa la posición posvehiculo de la lista de vehículos. posvehiculo : Integer. Posición que ocupa el vehículo en la lista de vehículos Métodos definidos por la clase ContPorVehiculoAgregado: Constructores. o ContPorVehiculoAgregado (). o ContPorVehiculoAgregado ( pos : Integer, valorc : Double[NCONTAMINANTES]). Métodos para recuperar el valor de los atributos. o PosVehiculo() : Integer. o ValorContaminantes ( c : String). Devuelve el valor de la estimación de contaminantes para el contaminante de nombre c. o ValoresContaminantes () : Double[NCONTAMINANTES]. Métodos para actualizar el valor de los atributos. o ActualizaPosicion ( p : Integer). o ActualizaValorContaminantes ( a : Double, c : String). Actualiza el valor del contaminante de nombre c. o ActualizaValoresContaminantes(a : Double[NCONTAMINANTES]) Sobrecarga de operadores. o operator== ( c : ContPorVehiculoAgregado) : Boolean. El método considera que dos objetos de la clase ContaminantesPorVehiculo son iguales si ocupan la misma posición en la lista de vehículos, independientemente del valor de los contaminantes. o operator= (c : ContPorVehiculoAgregado) : ContPorVehiculoAgregado. 137

46 Funciones auxiliares. No se definen para esta clase. Especificación en lenguaje UML de la clase ContPorVehiculoAgregado. Fig. 64. Especificación de la clase ContPorVehiculoAgregado Clases Expresión y Tramos. Además de las clases descritas, en la aplicación se hace uso de clases definidas en otros paquetes de la aplicación TRAMOS. Entre éstas se encuentran las clases Expresión y Tramos, que son pieza importante de la herramienta de estimación de contaminantes. La clase Expresión define una expresión susceptible de ser evaluada. Los atributos que define la clase son el código de la expresión, la expresión en formato texto, una pila de operadores y una pila de operandos, y una estructura árbol que define la forma en que se relacionan los operadores y los operandos. La clase define entre otros, un método que permite evaluar la expresión si se le pasa como parámetro la lista de las variables que usa la expresión con los valores que éstas poseen. La clase Tramos almacena toda la información relativa a un tramo, el código del tramo, el código de la función volumen retraso, el número de carriles, la intensidad de tráfico que lo atraviesa, etc. 138

47 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Diagrama de clases general del sistema. Vehiculo1 Lista Factor * ContPorVehiculoAgregado ContaminantesPorVehiculo Tramo ContaminantesTramos ExpresionCont Expresion 1..* 1..1 Fig. 65. Diagrama de clases general del sistema En la Figura 65 aparece el diagrama de clases general del sistema, que recoge las clases de objetos y sus asociaciones. La clase que aparece en la parte superior de la figura es Vehiculo1. Cada objeto de tipo Vehiculo1 tiene asociada una lista de objetos Factor, por lo que un objeto Vehiculo1 tiene de 1..* Factores, mientras que un objeto Factor sólo puede estar asociado a un objeto Vehiculo1. Los objetos de las clases ContPorVehiculoAgregado y ContaminantesPorVehiculo almacenan los contaminantes emitidos por una categoría de vehículos, es decir hacen referencia a un objeto Vehiculo1 concreto dentro de la lista de vehículos, por ello la relación entre ellos es Además, un objeto ContaminantesPorVehiculo almacena los contaminantes de una categoría concreta para un tramo específico, por lo que también hace referencia a un único objeto Tramo (1..1). Cada objeto de la clase ContaminantesTramos almacena información de un único tramo, la relación es también La clase ExpresionCont hace referencia a un único objeto de tipo Expresión. Sin embargo un objeto tipo Expresión puede estar asociado a más de un objeto tipo ExpresionCont. 139

48 4.5. Pantallas que componen la aplicación. Es importante en la especificación de una aplicación describir el interfaz del programa, la forma en que interactúan el usuario y la aplicación. En este apartado se muestran capturas de pantallas de los distintos módulos que componen la aplicación. Se explica el funcionamiento de cada uno de los formularios para que el usuario de la aplicación se familiarice con la introducción de datos, la ejecución de la aplicación, así como la lectura de resultados TRAMOS La herramienta desarrollada en el proyecto para probar la metodología se encuadra dentro del programa TRAMOS. Por tanto, el primer paso para usar el módulo de estimación es arrancar TRAMOS. Cuando se haya arrancado el programa se ha de cargar el escenario o viario donde se estudiarán los contaminantes. Para abrir un escenario se pulsa el botón abrir. Tras esta operación la pantalla que mostrará la aplicación será como se muestra en la Figura 67. Fig. 66. Captura de pantalla del programa TRAMOS. Se selecciona el escenario a cargar y tras un instante aparecerá en la pantalla el viario, como se representa en la Figura 67 para el viario de la ciudad de Sevilla. 140

49 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Fig. 67. Captura de pantalla del programa TRAMOS con el viario de la ciudad de Sevilla cargado. Para acceder al módulo de Estimación de Contaminantes se usa el menú Planificación - > Función de contaminantes, según se muestra en la Figura Formulario principal El formulario principal de la aplicación se muestra en la Figura 68. Este formulario permite acceder a todos los módulos del programa. Para introducir los datos de la flota se usa el botón Datos de la flota. Para definir los factores de emisión/consumo y asociarlos a las categorías de vehículos se usará el botón Factores de emisión. Cuando se hayan introducido los datos para la simulación se iniciará la estimación de los contaminantes usando el botón Ejecución. Una vez que haya terminado la ejecución se activará el botón de Informe. Pulsando este botón el usuario podrá acceder a los resultados de la simulación. En la Figura 69 se muestra el formulario principal con la ventana de documentación de la Función General de Estimación de Contaminantes. 141

50 Fig. 68. Formulario principal Fig. 69. Formulario principal con la ventana de documentación de la Función General de Estimación de Contaminantes. 142

51 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Formulario Datos de la Flota. El formulario diseñado en la aplicación para introducir los datos de la flota aparece en la Figura 70. Fig. 70. Formulario del módulo Datos de la Flota. Para introducir una categoría de vehículos en el árbol de probabilidades es necesario especificar su tipo, clase, legislación y porcentaje. Para introducir estos datos aparece en la parte baja de la pantalla cuatro cuadros de texto rotulados como Tipo, Clase, Legislación y Porcentaje. Una vez completa la categoría se añade al árbol usando el botón Copiar a tabla. Si la categoría se ha definido de forma correcta se añadirá al árbol y aparecerá reflejada en la tabla que forma el centro del formulario. En caso contrario se dará un error. Para borrar una categoría definida se seleccionará la fila que representa la categoría y se pulsará el botón rotulado como Limpiar fila. Con el botón Limpiar tabla se eliminan todas las categorías de árbol de probabilidades. Los controles nombrados son los que se usan para añadir o eliminar categorías al árbol. Aparte de éstos existen otros controles que tienen como misión bien facilitar la tarea del usuario, bien ofrecerle información. 143

52 El cuadro de texto Nº de filas con datos informa al usuario de número de categorías definidas. También es posible conocer este dato observando el índice de la última fila de la tabla, que será la última categoría definida. El botón Copiar de tabla puede ser útil a la hora de introducir una categoría similar en cuanto a tipo, clase, legislación o porcentaje, a otra existente en la tabla. Al pulsar este botón los cuadros de texto Tipo, Clase, Legislación y Porcentaje se rellenan con el valor de la categoría de la tabla, por lo que el usuario sólo tendrá que editar los campos que tengan un valor distinto en la nueva categoría. Para almacenar un árbol de vehículos de forma permanente se usa el botón Guardar, que pedirá el nombre del fichero donde almacenar el árbol. Este árbol almacenado será posible cargarlo usando el botón Cargar. El botón Cancelar retorna al formulario principal de la herramienta Estimación de contaminantes Formulario Definición de factores de emisión/consumo. El formulario diseñado para definir factores de emisión/consumo, así como para asociarlos a las categorías de vehículos se muestra en la Figura 71. Fig. 71. Formulario del módulo Definición de Factores de emisión/consumo. 144

53 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos El formulario representado en la Figura 71 es el más complejo de todos los que forman la aplicación Estimación de Contaminantes. El formulario está dividido en tres zonas. En la zona superior aparecen los controles para especificar un tipo de contaminante y una categoría de vehículo. La zona media es la definición y asociación de factores. La zona baja del formulario es la que se emplea para la representación gráfica de funciones. En la zona central existe un conjunto de controles agrupados en un cuadro que se denomina Definición. En este cuadro están todos los controles necesarios para definir completamente un factor. Cuadro de texto Función. Permite definir una función. Cuadros de texto Intervalo[Km/h]. Para especificar los límites del intervalo de velocidad en el que el factor es válido. Combo Box Variable. Indica si la variable de la función es la velocidad o el consumo. Botones de selección Tipo de Factor. Según sea el factor de emisión o de consumo se activará el botón correspondiente. Para representar la función que define el factor se usará el botón Representar. La representación gráfica aparecerá en la parte baja del formulario. Es posible ajustar los límites de representación usando los cuadros de texto rotulados como Máximo x, Maximo y. La aplicación también permite definir funciones que tengan como variables la velocidad y el consumo en la misma función. Para representar estas funciones es necesario dar un valor a una de las variables. Esto se hace mediante el grupo de controles Parámetros. En el control que pide especificar el nombre del parámetro se indicará qué variable se dejará como parámetro de la función. En el cuadro de texto Valor se indicará el valor del parámetro. Un vez que se haya rellenado este cuadro se pulsará el botón Actualizar y aparecerá representada la función teniendo una de sus variables un valor fijo e igual al valor especificado. Una vez se haya definido un factor se puede incluir en su lista correspondiente pulsando el botón rotulado como ->. Este control realiza las siguientes funciones. Llamada a un módulo de validación que comprueba si el factor está definido de forma correcta y no está ya incluido en la lista. Si el módulo de validación da el asentimiento se añade el factor a la lista. Su función aparecerá impresa en la lista de arriba si es un factor de emisión o en la de abajo si es de consumo. Además se realiza una llamada al módulo de representación con la función que define al factor para que el usuario compruebe de forma gráfica que la función tiene la forma que esperaba. 145

54 Si el módulo de validación define al factor como no válido se da un mensaje de error. Debajo de los cuadros que representan las dos listas de factores aparecen dos cuadros de texto. Cuando el usuario añade un factor a las listas o selecciona un factor ya definido, en estos cuadros aparecen los extremos del intervalo de velocidades que define el factor. Para asociar un factor ya definido en la lista a una categoría de vehículo se seguirán los siguientes pasos: Seleccionar el tipo de contaminante al que hace referencia el factor mediante Combo Box Contaminante de la parte alta del formulario. Seleccionar la categoría del vehículo usando los Combo Boxs Tipo, Clase y Legislación. Seleccionar el factor de la lista que se quiere asociar. Pulsar el botón -> situado a la izquierda de las listas de factores definidos. Este botón comprueba que el factor seleccionado sea compatible con los ya definidos para esa categoría de vehículos. Si es compatible lo almacena en la lista de factores de dicha categoría de vehículo y su función aparece impresa en la lista (situada en la derecha del formulario) de arriba si es un factor de emisión o en la de abajo si es de consumo. De la misa forma que en el caso anterior debajo de los cuadros que representan las dos listas de factores aparecen dos cuadros de texto. Cuando el usuario asocia un factor a las listas o selecciona un factor ya definido, en estos cuadros aparecen los extremos del intervalo de velocidades que define el factor. Cada vez que el usuario selecciona una categoría de vehículos, sus listas de factores se representan en los cuadros de la derecha del formulario. Para almacenar las listas de expresiones de forma permanente se usa el botón Guardar Lista, que pedirá el nombre del fichero donde almacenar los datos. Las listas almacenadas se cargarán usando el botón Cargar Lista. Para almacenar la lista de categorías de vehículos con los factores asociados se usa el botón Guardar. Para almacenar la lista se debe elegir el mismo fichero donde se guardó el árbol de probabilidades. Cargar. El árbol de probabilidades con los factores asociados se carga usando el botón El botón Cancelar retorna al formulario principal de la herramienta Estimación de contaminantes. 146

55 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Informe. El formulario Informe, Figura 72, muestra los resultados de la simulación de forma ordenada por tipo de vehículo, contaminante y tramo. El usuario tiene la opción de elegir el tramo en el que desea estudiar la contaminación usando el combo box de la parte superior de la ventana. Es posible elegir como todo el viario para estudiar la contaminación de la ciudad completa de forma agregada. Fig. 72. Formulario del módulo Informe. Para almacenar el informe de resultado en un fichero de texto se usa el botón Guardar Representación de resultados. La aplicación permite representar gráficamente el valor de cualquier tipo de contaminante sobre el viario. Se accede a esta función a través del menú: Planificación -> Resultados -> Contaminantes y se elegirá el contaminante que se quiera representar. En la Figura 73 se ha elegido el CO 2 para mostrar sobre el viario. 147

56 Fig. 73. Representación gráfica de resultados Ficheros. La aplicación se sirve de diversos ficheros para leer y almacenar datos. La mayoría de estos ficheros están escritos en un formato interno de la aplicación, no legible por el usuario. Por ejemplo cuando el usuario almacena la lista de vehículos que componen el árbol de probabilidades, el programa usa su propio formato para almacenar los datos de la flota. Cuando se carga un escenario el programa automáticamente intenta cargar este fichero para leer la flota de vehículos. La ruta por defecto para el archivo que almacena la información de la flota es /escenario1/contaminantes/flota.dat Otro caso en que el se trabaja con ficheros es para leer y almacenar la lista de expresiones. Cuando se almacena la lista de expresiones el programa pide que se nombre al fichero, por ejemplo expresiones.dat. Tras esta operación automáticamente la aplicación almacena (además de la lista de expresiones) dos ficheros, uno que contiene información de las expresiones que son de contaminantes y otro que recopila las expresiones de consumo.. Del mismo modo que se intenta cargar por defecto la información de la flota de vehículos, cuando se carga un escenario el programa automáticamente intenta cargar estos ficheros para leer las listas de expresiones. Las rutas por defecto para estos ficheros son, /escenario1/contaminantes/expresiones.dat, /escenario1/contaminantes/expresionescont.dat y /escenario1/contaminantes/expresionesconsumo.dat respectivamente. El primero de los ficheros tiene formato texto, mientras que los otros dos están escritos en formato interno. 148

57 Diseño del sistema de contaminantes usando la metodología Orientada a Objetos Dado que el fichero /escenario1/contaminantes/expresiones.dat tiene un formato legible, se adjunta una parte de este fichero que se definió para una ejecución del programa. fd1= *v *v^2 fd2= *v *v^2 fd3=(0.6676*ln(v)) fd6= *v *v^2 fd7= *v *v^2 fd8= *v *v^2+(0.43* ^(0.0099*v)) fd9= *v *v^2 fd10= *v *v^2+(0.2575*ln(v)) fd11= *v *v^2 fd12= *v *v^2 fd13= *v *v^2 fd14= *v *v^2 fd15= *v *v^2 fd16= *v *v^2 fd17= *v *v^2 fd18= *v *v^2 fd19= *v *v^2 fd20=4.5 fd21=7.5 fd22=( /v^(0.7708))+( /v^(0.7393))+(36.12/v^(0.6061)) fd23=( *v *v^2)+( /v^(0.7708))+(23.146/v ^(0.7393))+(27.09/V^(0.6061)) fd24=( *v *v^2)+(23.146/v^(0.7393))+(27.09/v^(0.6061)) fd25=( *v *v^2)+(27.09/v^(0.6061)) fd26= *v *v^2 fd27=0.03 fd28= *v *v^2 fd29= *v Estas expresiones conforman los factores de emisión del contaminante NO x para las distintas categorías de vehículos definidas para prueba realizada en la ciudad de Sevilla. Los intervalos de validez de las funciones se almacenan en el fichero /escenario1/contaminantes/expresionescont.dat. Las listas que almacenan los resultados de una ejecución del programa se almacenan en ficheros escritos en formato interno. Estos archivos son transparentes al usuario, pues se generan y se leen de forma automática sin la intervención del usuario. Las rutas en que se ubican son: /escenario1/contaminantes/listacontaminantestramos.dat. Almacena la estimación de contaminación de forma agregada por tramos. Es el fichero que se usa para la representación gráfica de contaminantes sobre el viario. /escenario1/contaminantes/listaparcial.dat. Almacena los resultados de forma desagregada por tramo y tipo de vehículo. Es la información que se escribe en el informe de resultados. /escenario1/contaminantes/listacontvehiculos.dat. Almacena la estimación de la contaminación agregada para todo el viario y desagregada por tipo de 149

58 vehículo. Es decir, almacena lo que contamina cada categoría de vehículo. Este archivo se usa para mostrar la contaminación de todo el viario en el informe de resultados. /escenario1/contaminantes/tramosvalidos.dat. Lista de los tramos que poseen una estimación de contaminación mayor a 0 gramos/hora para que en el informe no se incluyan los tramos que no aportan información al estudio de contaminantes. El fichero que contiene el informe de resultados está escrito en formato texto. Almacena toda la información de la estimación de emisiones contaminantes realizada. A continuación se muestra un fragmento de este fichero en el que aparece la estimación de contaminación del viario completo y los 4 primeros tramos con valores de contaminación mayor a 0 g/h. Al finalizar una ejecución del programa la lista de ficheros de la carpeta contaminantes del escenario estudiado debe tener los elementos que se muestran en la figura (no es necesario que se almacene en esta carpeta el fichero Informe.txt) Fig. 74. Lista de ficheros de la carpeta escenarios/contaminantes tras una ejecución. 150

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

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

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

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

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

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

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

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

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

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar

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

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

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

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

12/08/2017. Diagrama de clases y objetos. Modelo de clases y objetos. Diagrama de clases y objetos. Diagrama de clases y objetos

12/08/2017. Diagrama de clases y objetos. Modelo de clases y objetos. Diagrama de clases y objetos. Diagrama de clases y objetos Modelo de clases y objetos ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso El Diagrama de Clases es el diagrama principal para

Más detalles

Diagramas de clases de UML

Diagramas de clases de UML Diagramas de clases de UML Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Qué es UML? v UML ( Unified Modeling Language ) es un

Más detalles

Tema 3. Diagramas de Clases y Objetos 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

Tema 3. Diagramas de Clases y Objetos 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 Tema 3. Diagramas de Clases y Objetos 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ás detalles

INTRODUCCIÓN A LA NOTACIÓN UML Diagramas de clases

INTRODUCCIÓN A LA NOTACIÓN UML Diagramas de clases INTRODUCCIÓN A LA NOTACIÓN UML Diagramas de clases 1 Introducción Este documento proporciona una breve descripción de la notación UML utilizada en los diagramas UML de clases. 2 Clase Una clase UML (figura

Más detalles

CLA. Diagramas de clases en Métrica V3

CLA. Diagramas de clases en Métrica V3 CLA Diagramas de clases en Métrica V3 1 Diagramas de clases Qué es? Representa la estructura y comportamiento de cada uno de los objetos del sistema y sus relaciones con los demás objetos. Objetivos? Representar

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

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

Análisis y Diseño de Sistemas Orientado a Objeto. Captura y Análisis de Requerimiento

Análisis y Diseño de Sistemas Orientado a Objeto. Captura y Análisis de Requerimiento Análisis y Diseño de Sistemas Orientado a Objeto Captura y Análisis de Requerimiento Análisis y Diseño Orientado a Objeto Diagramas UML para Análisis Análisis y Diseño Orientado a Objeto Diagramas UML

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

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

Contenido. 1 Qué es un diagrama de clase? 2 Elementos de un diagrama de clase. 3 Clase, atributo, método y visibilidad. 4 Agregación y composición

Contenido. 1 Qué es un diagrama de clase? 2 Elementos de un diagrama de clase. 3 Clase, atributo, método y visibilidad. 4 Agregación y composición * 1 Contenido 1 Qué es un diagrama de clase? 2 Elementos de un diagrama de clase 3 Clase, atributo, método y visibilidad 4 Agregación y composición 5 Generalización e interface 6 Organización de clases

Más detalles

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ Ingeniería de Software Tema 4 Lenguaje de Modelado Unificado UML Ing. Francisco Rodríguez Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito

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

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

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

Tema: Herencia en C#.

Tema: Herencia en C#. Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir

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

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

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

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

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

Clasificación de las Herramientas CASE

Clasificación de las Herramientas CASE Qué es una herramienta CASE? Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la

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

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

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos Academia de computación de IE, ICA e ISISA Unidad didáctica Programación Orientada a Objetos Elaboración y diseño de cien reactivos de opción múltiple para la unidad didáctica programación orientada a

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 al Paradigma Orientado a Objetos

Introducción al Paradigma Orientado a Objetos Introducción al Paradigma Orientado a Objetos 1 Objetos Qué es un objeto? Un objeto es un componente de software que contiene variables y métodos y que es usado para modelar algún aspecto de la vida real.

Más detalles

Introducción al Lenguaje "C++"

Introducción al Lenguaje C++ UNIDAD 2 Introducción al Lenguaje "C++" 1.- La programación Orientada a Objetos. La Programación Orientada a Objetos no es un concepto nuevo, data de hace unas dos decadas. El origen de la Programación

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

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

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III HERENCIA Se entiende por herencia el proceso por el que un objeto puede tomar características de otro objeto. La herencia Se puede usar de dos formas: 1. Cuando una clase escrita no llega a cubrir las

Más detalles

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO PACK FORMATIVO EN DESARROLLO DE APLICACIONES CON TECNOLOGÍA WEB NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO - Identificar la estructura de una página web conociendo los lenguajes

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

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

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

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

Gestión de formularios: Manual de usuario

Gestión de formularios: Manual de usuario 1-FORMULARIOS... 2 1.1Crear un nuevo formulario... 2 1.2Editar las propiedades de un formulario... 3 1.3Ver datos enviados... 6 1.4 Eliminar un formulario... 7 2-AGRUPACIONES... 8 2.1Crear una agrupación...

Más detalles

Diagrama de Casos de Uso. Casos de Uso

Diagrama de Casos de Uso. Casos de Uso Diagrama de Casos de Uso 1 Casos de Uso Un requerimiento funcional describe un servicio o función del sistema. Un requerimiento no-funcional es una restricción sobre el sistema (por ejemplo el tiempo de

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

Lenguaje Unificado de Modelado UML

Lenguaje Unificado de Modelado UML Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado

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

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

Diagrama de Clases I: asociaciones

Diagrama de Clases I: asociaciones Programación Orientada a Objetos Diagrama de Clases I: asociaciones Ing. Julio Ernesto Carreño Vargas MsC. Concepto de diagrama de clases Modelo de Dominio Un modelo conceptual explica los conceptos más

Más detalles

Programación n de sistemas

Programación n de sistemas Programación n de sistemas Orientación a Objetos en Java I. Programación Basada en objetos II. Programación orientada a objetos Ingeniería Telemática M. Carmen Fernández Panadero mcfp@it.uc3m.es

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

UNIVERSIDAD MEXIQUENSE DEL BICENTENARIO CAMPUS ACAMBAY LICENCIATURA EN INFORMÁTICA DESARROLLO DE APLICACIÓN PARA AMBIENTES DISTRIBUIDOS

UNIVERSIDAD MEXIQUENSE DEL BICENTENARIO CAMPUS ACAMBAY LICENCIATURA EN INFORMÁTICA DESARROLLO DE APLICACIÓN PARA AMBIENTES DISTRIBUIDOS UNIVERSIDAD MEXIQUENSE DEL BICENTENARIO CAMPUS ACAMBAY LICENCIATURA EN INFORMÁTICA DESARROLLO DE APLICACIÓN PARA AMBIENTES DISTRIBUIDOS Proyecto de Implementación de un Sistema de Información Bass line

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

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

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

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez 6 Herencia y Polimorfismo La Herencia y el Polimorfismo son dos de los principales mecanismos de programación que caracterizan a la programación orientada a objetos. La herencia sustenta su mecanismo en

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas

Más detalles

Analista Programador MySQL. Informática y Programación

Analista Programador MySQL. Informática y Programación Analista Programador MySQL Informática y Programación Ficha Técnica Categoría Informática y Programación Referencia 29482-1401 Precio 89.00 Euros Sinopsis UML usa técnicas de notación gráfica para crear

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

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

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

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

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

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

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos PNFSI Asignatura: Desarrollo de Software Tema 1: Programación Orientada a Objetos Ing. Zamantha González Abril, 2008 Contenido Conceptos básicos Clase Objeto o instancia Atributos Métodos Constructores

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia

Más detalles

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra l.guerra@upm.es Enero 2012

Más detalles

Capítulo III: MARCO METODOLÓGICO

Capítulo III: MARCO METODOLÓGICO Capítulo III: MARCO METODOLÓGICO Tipo de Investigación El presente trabajo de investigación, tuvo como propósito el desarrollo de una aplicación experimental que permitió evaluar la operatividad y funcionalidad

Más detalles

Capítulo 16. Diagrama de Clases UML

Capítulo 16. Diagrama de Clases UML Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando

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

CAPÍTULO 2: CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. ABSTRACCIÓN. ENCAPSULAMIENTO. PRINCIPIO DE OCULTACIÓN. HERENCIA. POLIMORFISMO.

CAPÍTULO 2: CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. ABSTRACCIÓN. ENCAPSULAMIENTO. PRINCIPIO DE OCULTACIÓN. HERENCIA. POLIMORFISMO. 1 UNIDAD 1: ORIENTACIÓN A OBJETOS. CAPÍTULO 1: INTRODUCCIÓN. HISTORIA. ESPÍRITU DEL PARADIGMA ORIENTADO A OBJETOS. CONCEPTOS BÁSICOS: OBJETO, ATRIBUTO, MÉTODO, MIEMBRO, MENSAJE, CLASE, EVENTO. CAPÍTULO

Más detalles

Programación Orientada a Objetos GUÍA DOCENTE Curso

Programación Orientada a Objetos GUÍA DOCENTE Curso Programación Orientada a Objetos GUÍA DOCENTE Curso 2010-2011 Titulación: Grado en ingeniería informática 801G Asignatura: Programación Orientada a Objetos 801205012 Materia: Módulo: M3 Programación Carácter:

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

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

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

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

Programación Orientada a Objetos. Conceptos Básicos

Programación Orientada a Objetos. Conceptos Básicos Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción

Más detalles

Universidad Salesiana de Bolivia

Universidad Salesiana de Bolivia Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian

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 Negociación de Requisitos

Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Objetivos del tema Conocer los objetivos,

Más detalles

UMLGEC ++: Una Herramienta CASE para la Generación de Código a partir de Diagramas de Clase UML

UMLGEC ++: Una Herramienta CASE para la Generación de Código a partir de Diagramas de Clase UML UMLGEC ++: Una Herramienta CASE para la Generación de Código a partir de Diagramas de Clase UML Irving Alberto Cruz Matías 1 y Carlos Alberto Fernández y Fernández 2 1 Universidad Tecnológica de la Mixteca

Más detalles

Diseño estructural y propuesta de actividades. Desarrollo de software, metodología de proyectos IT, licenciatura en informática o afines

Diseño estructural y propuesta de actividades. Desarrollo de software, metodología de proyectos IT, licenciatura en informática o afines Formato 1 UNIVERSIDAD DE GUADALAJARA FASE 1 1. DATOS GENERALES DEL CURSO Nombre del curso Programación orientada a objetos Programa al que pertenece Créditos y horas Horas teoría 35 Horas práctica 70 Eje

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

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 4 Nombre: Herencia Contextualización Cuando hablamos de informática podemos contemplar varios elementos que se utilizan dentro

Más detalles

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson El lenguaje UML es un estándar OMG diseñado para visualizar, especificar, construir y documentar software orientado a objetos.

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

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: Herramientas UML, Análisis y diseño UML

Tema: Herramientas UML, Análisis y diseño UML Programación II. Guía No.2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivos Conocer una herramienta de modelado para la solución

Más detalles

Programación Inicial. Requisitos previos. Objetivos. Próximos Inicios. Modalidad a Distancia. Costo y formas de pago. Resumen de Contenidos

Programación Inicial. Requisitos previos. Objetivos. Próximos Inicios. Modalidad a Distancia. Costo y formas de pago. Resumen de Contenidos Programación Inicial con Java y Oracle Requisitos previos Para realizar esta capacitación el único requisito previo es contar con un amplio dominio del manejo del entorno Windows, además de utilizar programas

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles