Monografia Ejemplo Uml

download Monografia Ejemplo Uml

of 210

Transcript of Monografia Ejemplo Uml

APLICACIN DEL LENGUAJE UNIFICADO DE MODELADO (UML) AL DISEO DE CONTROLES .NET PARA DISPOSITIVOS CON TECNOLOGA 1-WIRE

UNIVERSIDAD DE CARABOBO REA DE ESTUDIOS DE POSTGRADO FACULTAD DE INGENIERA MAESTRA EN INGENIERA ELCTRICA PROGRAMA GENERAL

APLICACIN DEL LENGUAJE UNIFICADO DE MODELADO (UML) AL DISEO DE CONTROLES .NET PARA DISPOSITIVOS CON TECNOLOGA 1-WIRE

AUTOR: Venus T. Prada R. TUTOR: Ing. M.Sc. Carlos J. Pea

Valencia, Octubre 2008

UNIVERSIDAD DE CARABOBO REA DE ESTUDIOS DE POSTGRADO FACULTAD DE INGENIERA MAESTRA EN INGENIERA ELCTRICA PROGRAMA GENERAL

APLICACIN DEL LENGUAJE UNIFICADO DE MODELADO (UML) AL DISEO DE CONTROLES .NET PARA DISPOSITIVOS CON TECNOLOGA 1-WIRE

AUTOR: Venus T. Prada R.

Trabajo presentado ante el Area de Estudios de Postgrado de la Universidad de Carabobo para Optar al Ttulo de Magster en Ingeniera Elctrica

Valencia, Octubre 2008

iv

UNIVERSIDAD DE CARABOBO REA DE ESTUDIOS DE POSTGRADO MAESTRA EN INGENIERA ELCTRICA PROGRAMA GENERAL

VEREDICTO

Nosotros, Miembros del Jurado designado para la evaluacin del Trabajo de Grado titulado: APLICACIN DEL LENGUAJE UNIFICADO DE

MODELADO (UML) AL DISEO DE CONTROLES .NET PARA DISPOSITIVOS CON TECNOLOGA 1-WIRE, presentado por: Ing. Venus Teresa Prada Rodrguez para optar al Ttulo de Magster en Ingeniera Elctrica estimamos que el mismo rene los requisitos para ser considerado como: APROBADO.

__________________________________________ Presidente del Jurado. Demetrio Rey, C.I. 7.127.552

__________________________________________ Miembro del Jurado. Carlos Jimnez, C.I. 7.523.966

__________________________________________ Miembro del Jurado. Hctor Simosa, C.I. 2.901.889

Valencia, Octubre 2008

v

DEDICATORIA

A mis cuatro amores: Mi hija Isabel Cristina, mis padres Teresa y Oln, y mi esposo Jos

vi

NDICE GENERAL

DEDICATORIA... NDICE DE FIGURAS NDICE DE CUADROS. RESUMEN... INTRODUCCIN.... CAPITULO I EL PROBLEMA 1.1. Planteamiento del Problema...... 1.2. Objetivos de la investigacin 1.2.1. Objetivo General. 1.2.2. Objetivos Especficos.. 1.3. Justificacin de la investigacin... 1.4. Alcance y delimitacin.. CAPTULO II MARCO TERICO 2.1. Antecedentes. 2.2. Bases Tericas... 2.2.1. Qu es el lenguaje Unificado de Modelado (UML)?............ 2.2.2. Porqu utilizar UML... 2.2.3. Programacin orientada a objetos... 2.2.4. Fundamentos de la programacin orientada a objetos 2.2.4.1. Definicin de un objeto.. 2.2.4.2. Definicin de una clase.. 2.2.5. Plataforma Microsoft .NET. 2.2.6. Caractersticas de la Plataforma Microsoft .NET... 2.2.7. Ventajas del .NET... 2.2.8. .NET Framework 2.2.9. Common Language Runtime (CLR).. 2.2.10. Common Language Specification (CLS).. 2.2.11. Herramientas de desarrollo .NET.. 2.2.12. Definicin de un control .NET.. 2.2.13. El concepto de 1-Wire.... 2.2.14. Elementos que componen una red 1-Wire. 2.2.15. Funcionamiento de la red 1-Wire.. 2.2.16. Protocolo de comunicaciones 1-Wire... 2.2.17. API de programacin 1-Wire 2.2.18. iButton Hygrochron... 2.3. Definicin de trminos..

vi ix xi xii 1

5 8 8 8 9 12

14 15 15 17 18 19 22 23 23 25 27 29 30 31 33 34 34 35 37 39 43 45 47

vii

CAPITULO III MARCO METODOLGICO 3.1. 3.2. 3.3. 3.4. Tipo y diseo de la investigacin.. Tcnicas de recoleccin de datos.. Tcnicas de anlisis de datos Procedimiento metodolgico 51 52 53 53

CAPITULO IV CONSTRUCCIN DEL CONTROL .NET APLICANDO UML 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. Requerimientos del control.. Casos de uso. Casos de uso del control Hygrochron.. Clases y diagramas de clases.... Clases 1-Wire API .NET utilizadas... Diagramas de interaccin.. 4.6.1. Diagramas de colaboraciones.. 4.6.2. Diagramas de secuencias 4.7. Construccin del Control .NET 4.8. Descripcin del control .NET... 4.8.1. Descripcin de las propiedades del control .NET.. 4.8.2. Descripcin de los mtodos del control .NET 4.9. Cdigo fuente del control .NET CAPITULO V VALIDACIN DEL CONTROL .NET 5.1. Uso del control .NET 5.2. Descripcin de la aplicacin Hygrochron-Logger que valida al control . NET 5.3. Propiedades de la Misin...... 5.4. Resultados de la Misin 5.5. Histograma de Frecuencias... 5.6. Grficas de Temperatura y Humedad... 5.7. Ejemplo de programacin y descarga de datos de una misin.. 5.8. Dundas Chart for . NET... CONCLUSIONES.. RECOMENDACIONES REFERENCIAS BIBLIOGRAFICAS. ANEXOS. 131 138 143 145 149 150 151 154 155 157 158 160 57 59 61 74 75 83 83 88 93 96 97 101 105

viii

NDICE DE FIGURAS CAPITULO II Figura 2.1. Figura 2.2. Figura 2.3. Figura 2.4. Figura 2.5. Figura 2.6. Figura 2.7. Figura 2.8. Figura 2.9. CAPITULO IV Figura 4.1. Figura 4.2. Figura 4.3. Figura 4.4. Figura 4.5 Figura 4.6. Figura 4.7. Figura 4.8. Figura 4.9. Figura 4.10. Figura 4.11. Figura 4.12. Figura 4.13. Figura 4.14. Figura 4.15. Figura 4.16. Figura 4.17. Figura 4.18. Figura 4.19. Figura 4.20. Representacin de un caso de uso.. Caso de uso Iniciar Misin... Caso de uso Detener Misin. Caso de uso Leer Datos de la Misin... Diagrama de casos de uso inicial. Diagrama de casos de uso de la segunda iteracin... Diagrama de casos de uso del control HYGROCHRON. Diagrama de clases del control HYGROCHRON... Diagrama de colaboraciones del caso de uso Iniciar Misin por Defecto... Diagrama de colaboraciones del caso de uso Iniciar Nueva Misin .. Diagrama de colaboraciones del caso de uso Detener Misin. Diagrama de colaboraciones del caso de uso Leer Datos de la Misin... Diagrama de secuencias del caso de uso Iniciar Misin por Defecto......... Diagrama de secuencias del caso de uso Iniciar Nueva Misin .. Diagrama de secuencias del caso de uso Detener Misin Diagrama de secuencias del caso de uso Leer Datos de la Misin... Pantalla inicial para crear el control .NET... Ventana para seleccionar la creacin de un control .NET Ventana con el control .NET creado Ventana con la imagen y el nombre del control .NET creado.. 59 61 61 62 62 63 65 82 84 85 86 87 89 90 91 92 93 94 95 95 Representacin de una clase..... Ilustracin de una red 1-Wire Diferentes tipos de adaptadores de red 1-Wire. (A) Modelo DS9097U, (B) Modelo DS9490R, (C) Modelo iLink12i. Flujo Tpico de una comunicacin 1-Wire Representacin grfica de un pulso de reset y presencia. Transmisin de bits bajo el protocolo 1-Wire. Lectura de un (0) y un (1) desde el maestro... Transmisin de bits bajo el protocolo 1-Wire. Escritura de un (0) y un (1) desde el maestro... Libreras API requeridas para cada tipo de aplicacin. iButton Hygrochron.. Pg. 23 35 36 38 40 42 42 44 46

ix

Figura 4.21. Figura 4.22. Figura 4.23. Figura 4.24. CAPITULO V Figura 5.1. Figura 5.2. Figura 5.3. Figura 5.4. Figura 5.5 Figura 5.6. Figura 5.7. Figura 5.8. Figura 5.9. Figura 5.10 Figura 5.11 Figura 5.12 Figura 5.13 Figura 5.14 Figura 5.15 Figura 5.16 Figura 5.17 Figura 5.18 Figura 5.19 Figura 5.20 Figura 5.21 Figura 5.22 Figura 5.23 Figura 5.24 Figura 5.25 Figura 5.26

Imagen del control .NET creado.. Clase HYGROCHRON con todas sus propiedades. Clase HYGROCHRON con todos sus mtodos... Clase HYGROCHRON con todos sus eventos

96 104 105 105

Vista de la aplicacin al hacer click derecho sobre el Toolbox......................... Vista de la ventana Choose Toolbox tems.. Vista del control agregado en el Toolbox. Vista de un formulario con el control agregado... Lista de propiedades y mtodos del control Hygrochron1... (a) Vista del formulario del Ejemplo terminado. (b) Vista de la aplicacin al presionar el botn Abrir el puerto... Listado de instrucciones para correr el Ejemplo.. Pantalla inicial de la aplicacin Hygrochron-Logger... Pantalla que aparece al correr la aplicacin y no detectar dispositivos conectados a la red 1-Wire Men Archivo... Men Opciones. Men Ayuda. Mensaje que muestra el Acerca de... (a) Icono del RollOver habilitado. (b) Icono del RollOver deshabilitado. Vista de la pantalla Propiedades de la Misin.. Vista de la pantalla Resultados de la Misin con el nuevo men Opciones. Opcin Histograma de Temperatura con su submen.. Opcin Histograma de Humedad con su submen... Opcin Grfica de Temperatura con su submen Opcin Grfica de Humedad con su submen. Vista de la pantalla Histograma de Frecuencias... Vista de la pantalla Grficas de Temperatura y Humedad... Parmetros utilizados para grabar una misin.. Lectura de los datos de la misin. Histogramas de Frecuencias. Grficas de Temperatura y Humedad...

132 133 133 134 135 136 137 138 140 141 142 142 142 144 145 147 147 148 148 148 149 150 151 152 153 153

x

NDICE DE CUADROS CAPITULO IV Cuadro 4.1. Cuadro 4.2. Cuadro 4.3. Cuadro 4.4. Cuadro 4.5 Cuadro 4.6. Cuadro 4.7. Cuadro 4.8. Cuadro 4.9. Cuadro 4.10. Cuadro 4.11. Cuadro 4.12. Cuadro 4.13. Cuadro 4.14. Cuadro 4.15. Caso de uso Iniciar Misin por Defecto... Caso de uso Iniciar Nueva Misin.... Caso de uso Detener Misin. Caso de uso Leer Datos de la Misin... Caso de uso Abrir Puerto.. Caso de uso Auto Buscar Puerto.. Caso de uso Buscar Dispositivo... Caso de uso Verificar Estatus de Misin y Finalizarla. Caso de uso Programar Dispositivos con Valores Predefinidos en el Sistema Caso de uso Programar Dispositivos con Valores Predefinidos por el Usuario Caso de uso Descargar Datos de la Misin.. Caso de uso Actualizar Datos de Inicio de Misin... Caso de uso Leer Muestras de la Misin.. Caso de uso Leer Muestras de Temperatura..... Caso de uso Leer Muestras de Humedad..... 66 66 67 67 68 68 69 69 70 71 71 72 73 73 74

xi

APLICACIN DEL LENGUAJE UNIFICADO DE MODELADO (UML) AL DISEO DE CONTROLES .NET PARA DISPOSITIVOS CON TECNOLOGA 1-WIRE

Autor: Venus T. Prada R. Tutor: Carlos J. Pea Fecha: Octubre 2008

RESUMEN

El presente trabajo permiti desarrollar un control .NET para un dispositivo iButton Hygrochron con tecnologa1-Wire, el cual, es un microcircuito autnomo embebido en un empaque de acero inoxidable de 16 mm de dimetro, fabricado con alta tecnologa que integra un sensor de temperatura y uno de humedad en un mismo empaque, estando en capacidad de leer en tiempo real y de almacenar los datos tanto de la temperatura como de humedad, en una memoria no voltil de alta capacidad. El control antes mencionado se construy aplicando el Lenguaje Unificado de Modelado (UML) y utilizando la nueva plataforma de Microsoft .NET. Para ello, se procedi a determinar los requerimientos, los cuales, permitieron establecer un modelo del control deseado a travs de los diferentes diagramas del UML. Para su construccin, se emplearon una serie de contenedores API (Application Program Interface), los cuales, poseen libreras o paquetes de desarrollo que permiten acceder a los recursos de un hardware, en este caso particular a los del iButton Hygrochron. Una vez elaborados los diagramas de UML necesarios, se procedi a desarrollar el cdigo fuente del control .NET en el lenguaje de programacinVisual Basic .NET. La validacin del mismo, se logr a travs de una aplicacin demostrativa desarrollada tambin en Visual Basic, donde se emplea dicho control, logrando as demostrar el funcionamiento y las bondades que ofrece el mismo, es importante resaltar que la aplicacin del UML en el desarrollo de sistemas, es de gran ayuda debido a que es fcil de entender por las personas relacionadas con el sistema, adems de facilitar el desarrollo de softwares.

xii

INTRODUCCIN

1

INTRODUCCIN

En los ltimos aos los sistemas computacionales y de informacin han tenido un gran desarrollo, tanto as, que actualmente se han vuelto indispensables en todos los niveles, especialmente en el sector industrial, donde cumplen un papel primordial y forman parte de sistemas de medicin y/o control en los procesos industriales. Algunas de las variables de gran importancia en muchos procesos industriales, especialmente en los del sector alimenticio y farmacutico son la temperatura y la humedad. Se requiere por tanto, que la medicin de dichas variables sea lo ms confiable posible, ya que de su correcta medicin, dependern importantes factores asociados a la calidad, control y certificacin del producto.

De all pues que los fabricantes de dispositivos de medicin y sistemas digitales ofrecen da a da, circuitos integrados de mayores prestaciones, confiables y de bajo costo. Al respecto, la tecnologa 1-Wire se encuentra conformada por una familia de pequeos componentes de circuitos integrados de suficiente robustez y costos muy atractivos, un ejemplo dentro de su amplia variedad de circuitos integrados es el iButton Hygrochron, el cual, es un microcircuito autnomo que se caracteriza por ser robusto, compacto, resistente a impactos contenido en un empaque no txico de acero inoxidable de apenas 16 mm de dimetro, 3,3 gramos de peso y autosuficiente. Este dispositivo integra la ms alta tecnologa en un slo empaque, adems de tener un sensor de temperatura aade un sensor de humedad, estando en capacidad de leer en tiempo

2

real y de almacenar los datos tanto de temperatura como de humedad del medio ambiente donde se encuentre, en una memoria no voltil de alta capacidad.

En este trabajo de investigacin, se logr construir un control .NET para un iButton Hygrochron, cuyo desarrollo se realiz con la ayuda del Lenguaje Unificado de Modelado (UML), y con las herramientas disponibles por la Empresa Dallas Semiconductor como las 1-Wire API.NET, las cuales, son un conjunto completo de funciones independientes del lenguaje (DLL), para ser utilizadas con la nueva plataforma de Microsoft .NET que facilitan la comunicacin con los dispositivos de tecnologa 1-Wire.

Por otra parte, cualquier usuario estar en la capacidad de construir una aplicacin utilizando el control aqu construido, sin necesidad de conocer cmo accesar a los registros internos del iButton Hygrochron, ya que el control se encarga de realizar toda la comunicacin necesaria entre el PC y el dispositivo, tanto para programarlo como para extraer la informacin almacenada en el, entregando al usuario el producto final. En este sentido, el usuario tiene la gran ventaja de que con slo conocer un poco de programacin bsica y sin ser un experto en sistemas digitales puede construir una aplicacin acorde a sus necesidades.

El presente trabajo de investigacin se encuentra constituido en cinco captulos. En el Captulo I se describe el problema abordado, se definen los objetivos de la investigacin y se presenta el alcance de la misma. En el Captulo II, se describen los fundamentos tericos de la investigacin comenzando por una

3

revisin de antecedentes, se describen los conceptos fundamentales del Lenguaje Unificado de Modelado (UML), as como su importancia. Igualmente se explica detalladamente la tecnologa 1-Wire, a la cual pertenece el dispositivo iButton Hygrochron utilizado. Tambin se explica la plataforma .NET, que permiti el desarrollo del control .NET llamado HYGROCHRON, el cual es el objetivo principal de la presente investigacin.

En el captulo III, se hace referencia al tipo y diseo de la investigacin, las tcnicas de recoleccin y anlisis de datos, as como el procedimiento metodolgico utilizado en cada una de las diferentes fases realizadas durante el desarrollo de la investigacin. El captulo IV explica cmo construir un control .NET para un dispositivo con tecnologa 1-Wire aplicando el Lenguaje Unificado de Modelado (UML), se muestran los diagramas de especificaciones bajo ste concepto, necesarios para el desarrollo del software del control. Finalmente, en el captulo V se describe el control .NET construido, as como el uso del mismo y la aplicacin Hygrochron-Logger, la cual, sirvi para validar el funcionamiento y operatividad del control construido.

CAPITULO I EL PROBLEMA

CAPITULO I EL PROBLEMA

En el presente captulo se explica todo lo relacionado al planteamiento del problema, los objetivos que se persiguen, as como la justificacin y el alcance de la presente investigacin.

1.1 Planteamiento del Problema

En una gran cantidad de procesos industriales la medicin y el anlisis de variables fsicas como la temperatura y la humedad son primordiales. De su correcta medicin, dependern importantes factores asociados a la calidad, control y certificacin del producto. De acuerdo a la aplicacin, es necesario conocer las limitaciones que tienen los equipos destinados a realizar tales mediciones, las cuales, se deben a la exactitud, precisin, velocidad de la captacin de la variable, la distancia entre el elemento de medida y el aparato receptor, el tamao fsico y la tecnologa utilizada.

Para realizar una correcta determinacin de estas variables, es necesario seleccionar el instrumento de medicin, traduccin y procesamiento ms idneo al tipo de aplicacin, por ejemplo: en el transporte y preservacin de alimentos no perecederos y/o productos farmacuticos, reactivos qumicos, insumos mdicos y materiales de laboratorio, entre otros, la medicin y el control de la temperatura son un factor determinante para la aceptacin del producto.

6

Cabe sealar, que en el pas existen Normas para establecer los principios bsicos y las prcticas dirigidas a eliminar, prevenir o reducir los peligros para la inocuidad y salubridad que ocurren durante la elaboracin, envasado, almacenamiento y transporte de alimentos para el consumo humano, (Gaceta Oficial N 36081. 1996), las cuales, deben ser cumplidas por los fabricantes y transportistas.

Innumerables fabricantes de equipos ofrecen sus productos para cubrir una gama muy extensa de aplicaciones donde se requiere la medicin de temperatura y humedad, dependiendo de las caractersticas propias del proceso, diferentes tecnologas se encuentran disponibles, sin embargo, ciertas aplicaciones como las relacionadas con las buenas prcticas de almacenamiento y transporte de productos para el consumo humano, no contaban, con el equipo ms idneo; que fuese robusto, compacto, exacto, preciso, econmico, reutilizable, no

contaminante y auto-contenido (autosuficiente) todo ello en un solo equipo.

A principios del ao 2004, la Empresa Dallas Semiconductor introduce al mercado un dispositivo para la medicin y el registro de las variables temperatura y humedad con una tecnologa innovadora, el cul, est considerado como el microcircuito autnomo de registro de temperatura y humedad ms pequeo y completo hasta ahora fabricado y que brinda las siguientes ventajas: Robusto, compacto, resistente a impactos contenido en un empaque no txico de acero inoxidable de apenas 16 mm de dimetro, 3,3 gramos de peso y autosuficiente. De

7

gran durabilidad, exactitud y precisin. Este producto denominado iButton Hygrochron integra la ms alta tecnologa en un slo empaque, adems de tener un sensor de temperatura aade un sensor de humedad, estando en capacidad de leer en tiempo real y de almacenar los datos tanto de la temperatura como de humedad, en una memoria no voltil de alta capacidad. Su pequeo tamao, hace posible que el iButton Hygrochron pueda ser adherido directamente al objeto de estudio dentro del proceso.

El iButton Hygrochron es auto-contenido, es decir, no necesita de alimentacin externa para su funcionamiento y toda la informacin de la lectura de las variables temperatura y humedad se almacenan en su memoria interna no voltil. Para poder extraer la informacin del sensor, es necesaria la utilizacin de un interfaz (Hardware) y un programa (Software) que permita grabar y leer la informacin de los registros internos del equipo.

En este sentido el fabricante del iButton Hygrochron, dispone de una pequea aplicacin (software) denominado HygroChron Viewer, un archivo ejecutable escrito en lenguaje JAVA muy bsico, adicionalmente es poltica de la empresa, dejar el desarrollo de los programas y aplicaciones ms formales de sus productos a sus socios comerciales Solution Partners, quienes entre otras responsabilidades, tienen la misin de desarrollar aplicaciones ms completas y comerciales del producto.

Debe sealarse, que son pocos los registros de aplicaciones encontradas en el mercado para el producto iButton Hygrochron, incluso, las aplicaciones

8

registradas ofrecen soluciones totalmente comerciales, de propia tecnologa no estandarizada, cerradas y poco configurables. Es por ello que surge la necesidad de disear una aplicacin abierta, con tecnologa estndar basada en la creacin de un control .NET para dispositivos con tecnologa 1-Wire, como el iButton Hygrochron, bajo la aplicacin de los estndares ofrecidos por el Lenguaje Unificado de Modelado (UML), el cual, permitir utilizar y explotar al mximo las bondades de ste tipo de dispositivo esencial para muchas aplicaciones en el rea industrial y que adicionalmente, permita su utilizacin en forma eficaz no importando el tipo de lenguaje de programacin utilizado.

1.2 Objetivos de la investigacin

1.2.1 Objetivo General

Aplicar el Lenguaje Unificado de Modelado (UML) al diseo de controles .NET para dispositivos con tecnologa 1-Wire.

1.2.2 Objetivos Especficos

Analizar las diferentes, especificaciones y procedimientos para la aplicacin del UML al desarrollo de sistemas.

Construir un modelo para representar a una clase, que permita la comunicacin con un dispositivo iButton Hygrochron, aplicando el Lenguaje Unificado de Modelado (UML).

9

Elaborar el cdigo fuente del control .NET aplicado al iButton Hygrochron, utilizando los diagramas de especificaciones UML y las clases contenidas en las 1-Wire API.NET.

Elaborar una aplicacin que permita la utilizacin del control .NET construido, para su validacin.

1.3 Justificacin de la investigacin

El presente trabajo representa un aporte para todos aquellos procesos industriales donde la medicin de la temperatura y humedad sean factores de suma importancia, y que adicionalmente se requiera registrar de forma continua todas las mediciones efectuadas en un lapso de tiempo dado para su posterior anlisis, el cual, permitir aplicar las medidas de control necesarias cuando las variables excedan los lmites establecidos para el buen funcionamiento de un determinado proceso. Para muchas empresas, especialmente las del sector alimenticio y servicios, esto se traducira en mejor calidad del producto y menos costos de operacin.

En muchos de los alimentos destinados al consumo humano es indispensable el control de la temperatura y la humedad relativa para la correcta preservacin de los mismos, ya que estas variables son factores externos que influyen en el desarrollo de microorganismos especialmente en frutas y vegetales. Las frutas

son una importante fuente de nutrientes para los seres humanos y su principal causa de deterioro se debe a los microorganismos, los cuales, le producen daos irreversibles que pueden detectarse por el cambio en sus caractersticas sensoriales

10

tales como: aroma, color, sabor, apariencia y textura (Universidad Nacional de Colombia, 2005).

Otro grupo de alimentos donde los microorganismos se desarrollan con facilidad cuando es sometido a una temperatura inadecuada son todos los

productos lcteos. Unas condiciones no ptimas de temperatura y humedad durante el almacenamiento de frutas, vegetales y productos lcteos se traduce en una menor durabilidad de los mismos, descomponindose ms rpidamente.

En este orden de ideas, otro factor importante a controlar en los alimentos es el desarrollo de las micotoxinas, producidas por hongos txico genticos (Aspergillus, Penicillium, Fusarium) que se desarrollan en los productos agrcolas, por lo que se encuentran presentes en gran parte de los alimentos, representando una amenaza tanto para la salud del hombre como de los animales, en vista de que se incrementa la susceptibilidad a las enfermedades infecciosas. Durante el desarrollo de la cosecha como en el almacenamiento se deben tomar en cuenta las variables temperatura y humedad, ya que son factores que influencian el desarrollo de las micotoxinas entre otros.

Segn investigacin realizada por el

Dr. M.V. Ral Gonzlez Salas

Profesor Asistente de la Facultad de Medicina Veterinaria. Universidad de Granma. Cuba, dice que en la etapa de almacenamiento es necesario monitorear continuamente que los productos almacenados no estn expuestos a condiciones ambientales tales como la humedad. Por lo tanto es indispensable implementar labores de monitoreo y prueba. Bajo este esquema de control de micotoxinas, si

11

los niveles diagnosticados sobrepasan los lmites permitidos, es necesario poner en prctica procedimientos que conduzcan a la descontaminacin y detoxificacin del producto.

De igual modo en el rea de transporte de alimentos y productos farmacuticos, es necesario conocer el rango de temperatura al que fue sometido el producto durante su transporte de un lugar a otro. En el caso de los alimentos por las causas expuestas anteriormente, y en el caso de los productos farmacuticos porque la mayora de ellos son altamente sensibles, al punto que inclusive unos pocos grados en exceso del mximo permitido hacen que se pierda la seguridad y efectividad del producto, representando un riesgo para la comunidad que consuma un medicamento en estas condiciones. (Revolutionary iButton Digital Temperature and Humidity Data Loggers)

Centrados en este enfoque, ahora se puede contar con el equipo ms idneo para el transporte y almacenamiento de productos refrigerados que necesiten mantener la temperatura y la humedad dentro de unos lmites establecidos. Con el empleo del iButton Hygrochron la persona encargada de recibir un producto refrigerado estar en capacidad de aceptarlo o rechazarlo en funcin de los registros contenidos en el iButton.

De all la importancia que tiene la creacin de un control .NET para el iButton Hygrochron, que permitir su utilizacin tanto por la Universidad de Carabobo como por otros institutos u organismos. Igualmente esta investigacin servir como base referencial para la creacin de diferentes controles aplicados al

12

rea de la instrumentacin industrial, virtual y control - automatizacin de procesos, ejemplos: medidores y registradores de temperatura, grficos, loggers y otras variables fsicas.

1.4 Alcance y delimitacin

En el presente Trabajo de Grado se aplic el Lenguaje Unificado de Modelado (UML) al diseo de un control .NET para dispositivos con tecnologa 1-Wire, para ello se analizaron las diferentes normas, y procedimientos del estndar UML, a fin de aplicarlo al diseo del control .NET. Como siguiente paso se describi la red de comunicacin 1-Wire utilizada por el iButton Hygrochron, as como las clases contenidas en las 1-Wire API.NET, proporcionadas por el fabricante. Se construy un modelo para representar y describir a una clase que permita la comunicacin con un dispositivo iButton Hygrochron, en base a las especificaciones del UML. Se desarroll el cdigo fuente del control .NET y por ltimo se construy una aplicacin donde se utiliza y se demuestra el funcionamiento del control .NET construido.

CAPITULO II MARCO TEORICO

CAPITULO II MARCO TERICO

En el presente captulo se abordan tanto los antecedentes como las bases tericas necesarias para el desarrollo de la presente investigacin.

2.1 Antecedentes

Antes del ao 1997 no exista un lenguaje de modelado estndar que permitiera el desarrollo sistemtico de la programacin orientada a objetos, sin embargo, ya para el ao 1994 los creadores del actual UML Grady Booch, James Rumbaugh, e Ivar Jacobson, comenzaban a trabajar en una metodologa propia para el anlisis y diseo de sistemas orientado a objetos, estos trabajos fueron agrupados y se conform un consorcio organizacin denominada UML con la participacin de grandes empresas como DEC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments y Rational Software Corporation. En ese mismo ao 1997 aparece la versin 1.0 del UML, el cual, se puso a la consideracin del grupo de administrador de objetos (OMG) como una propuesta para la estandarizacin que finalmente se denomin Lenguaje Unificado de Modelado (UML), hoy en da el UML es considerado como el estndar de facto en la industria del software. (Schmuller, 2003).

Actualmente existen gran cantidad de artculos escritos sobre diferentes usos del UML, sin embargo, no se encontr ninguno donde se aplique el modelo UML en el diseo de controles .NET, ni tampoco sobre el uso de este modelo para

15

desarrollo de sistemas con tecnologa 1-Wire. En Febrero del 2005 la Empresa Process and Technology Solutions, Inc., como desarrollador iButton autorizado, lanz al mercado su versin 2.4 del DS1921 OCX, una excelente herramienta para el uso del iButton Thermochron DS1921 (medidor de temperatura), el cual, es un interfaz de alto nivel para los lenguajes de programacin populares tales como Visual Basic. Este ActiveX OCX es esencialmente una envoltura, integrando todas las funciones de nivel inferior necesarias del TMEX SDK en caractersticas y mtodos fciles de utilizar. Esta herramienta facilita el desarrollo de aplicaciones para el iButton Thermochron, y la misma sirvi de referencia en la construccin del control .NET para el iButton Hygrochron DS1923.

2.2 Bases Tericas

2.2.1 Qu es el Lenguaje Unificado de Modelado (UML)?

Es una herramienta de lenguaje visual para modelacin de sistemas (comprendiendo hardware y software) que permite generar diagramas organizados que capten todas las ideas de un proceso, siendo su principal finalidad que sea fcil de comprender para todas las personas involucradas en el desarrollo del sistema. Esto tiene la ventaja que al realizar un plan de diseo organizado a travs de un cuidadoso anlisis de las necesidades del cliente, se puede contar con un diseo slido, el cul, puede ser modificado sin mayores problemas. Por consiguiente el objetivo del Proceso Unificado es guiar a los desarrolladores en la implementacin y distribucin eficiente de sistemas que se ajusten a las necesidades de los clientes.

16

UML es una abreviacin para Lenguaje Unificado de Modelado, cada una de estas palabras habla sobre un aspecto importante del UML (Sinan, 2003):

Lenguaje: Un lenguaje nos permite comunicarnos acerca de un sujeto. En el desarrollo de un sistema, el sujeto incluye los requerimientos y el sistema. Sin un lenguaje, es difcil para los miembros de un equipo comunicarse y colaborar satisfactoriamente en el desarrollo del sistema.

Modelo: Un modelo es la representacin de un sujeto. Un modelo captura un conjunto de ideas conocidas como abstracciones acerca de este sujeto. Sin un modelo, es muy difcil para los miembros de un equipo tener un entendimiento comn de los requerimientos y del sistema, y para ellos considerar el impacto de cambios que ocurre mientras el sistema est siendo desarrollado. Es importante destacar que un modelo UML describe lo que supuestamente har un sistema, pero no dice como implementar dicho sistema.

Unificado: El trmino unificado se refiere al hecho de que el Object Management Group (OMG), una organizacin de estandarizacin reconocida por la industria, y Rational Software Corporation crearon el UML para traer juntos los sistemas de informacin y las mejores prcticas de ingeniera en la industria y tecnologa. Estas prcticas involucran tcnicas de aplicacin que nos permite desarrollar sistemas ms exitosos.

17

Las metas del OMG fueron hacer el UML: Fcil de usar, Expresivo, Simple, Preciso, Extensible, Independiente de la implementacin, Independiente del proceso.

2.2.2 Porqu utilizar UML

Antes del advenimiento del UML, los programadores desarrollaban cdigos de sistemas de acuerdo a los requerimientos planteados por un cliente, sin importar si el cliente y/o los usuarios lo entendan no, y en muchas ocasiones el producto final no era exactamente lo que el cliente necesitaba. Cabe sealar que los dos bloques de construccin bsicos de un sistema de informacin son las operaciones realizadas por ese sistema de informacin y los datos con los cuales se realizan las operaciones. El paradigma tradicional ignora los datos a favor de las operaciones. Por el contrario el paradigma orientado a objetos presta igual atencin a las operaciones que a los datos. (Schach, 2005).

En un estudio realizado por la empresa de investigacin Standish Group, sobre 280.000 proyectos desarrollados durante el ao 2000 se obtuvieron los siguientes resultados: Slo el 28% de los proyectos se complet con buenos resultados, mientras que el 23% se cancelaron antes de implementarlos o nunca se implementaron. El 49% restante de los proyectos se complet e instal en la computadora del cliente. Sin embargo, aquellos proyectos estaban por debajo del presupuesto, estaban retrasados o tenan menos caractersticas y funcionalidad que la especificada inicialmente (Schach, 2005). Estos resultados indican que para el ao 2000 slo uno de cada cuatro proyectos de desarrollo era exitoso.

18

Hoy en da, es necesario contar con un plan de desarrollo bien estructurado y organizado, donde todas las personas involucradas tales como desarrolladores (quienes realizan el cdigo de un sistema), usuarios (quienes utilizan el producto final) y clientes (quienes pagan por el desarrollo) entiendan lo que har el sistema que se va a desarrollar. En este sentido, un sistema elaborado bajo el concepto UML debe ser exacto, consistente, fcil de comunicar a otros, fcil de cambiar y entendible.

Por lo anterior expuesto, la importancia y la ventaja de utilizar UML radica en que an cuando los usuarios y clientes no conozcan de programacin, sern capaces de entender los diagramas de especificaciones elaborados bajo este concepto que sern entregados a los desarrolladores. Este modelo sirve para impulsar el desarrollo del software del sistema. Si bien es cierto que el UML es un lenguaje entendible por todas las personas involucradas, entonces tanto clientes como usuarios podrn hacer modificaciones a las especificaciones presentadas hasta lograr que stas cumplan con todas sus necesidades. Otra ventaja del UML es que el modelo describe lo que supuestamente har un sistema, pero no dice como implementar dicho sistema, es decir, es independiente del lenguaje de programacin utilizado.

2.2.3 Programacin orientada a objetos

A principios de la dcada de 1980 comenz a surgir el llamado paradigma de Orientacin a Objetos, que propona una forma novedosa de comprender y modelar el mundo que nos rodea. Mientras ms atributos y acciones se tomen en

19

cuenta mayor ser la similitud entre el modelo planteado y la realidad. Hoy, luego de varias dcadas, este paradigma es sin duda uno de los principales y ms importantes para el desarrollo del software, siendo el propsito de la orientacin a objetos desarrollar software que modele un esquema del mundo (Microsoft Corporation, 2005).

La Programacin Orientada a objetos desde el punto de vista computacional es un mtodo de implementacin, en el cul, los programas son organizados como grupos cooperativos de objetos, cada uno de los cuales representa una instancia de alguna clase, y estas clases, todas son miembros de una jerarqua de clases unidas mediante relaciones de herencia. Este tipo de programacin como su nombre lo indica, se basa en el concepto de objeto, el cul, es una abstraccin de la realidad que tiene un significado concreto y claro para el problema que se est modelando (Microsoft Corporation, 2005).

2.2.4 Fundamentos de la programacin orientada a objetos

En este tipo de programacin la estructura y comportamiento de objetos similares estn definidos en una misma clase. Una clase es un conjunto de objetos que comparten una estructura y comportamiento comn. La diferencia entre un objeto y una clase es que un objeto es una entidad concreta que existe en tiempo y espacio, mientras que una clase representa una abstraccin, la "esencia" de un objeto, tal como es.

20

Cuando se desea crear un programa bajo el paradigma orientado a objetos, se deben tener en cuenta una serie de principios fundamentales que son los pilares de la orientacin a objetos como lo son: la abstraccin, el encapsulamiento, la herencia, las relaciones y el polimorfismo.

Abstraccin: la abstraccin es de suma importancia en el proceso de anlisis y diseo orientado a objetos, ya que mediante ella se puede llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar. Mediante la abstraccin la mente humana modela la realidad en forma de objetos, ya que los humanos entienden la realidad como objetos con comportamientos bien definidos. No necesitan conocer los detalles de porqu, ni cmo funcionan las cosas; simplemente solicitan determinadas acciones en espera de una respuesta. El proceso de abstraccin permite seleccionar las caractersticas relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real.

Encapsulamiento: otro de los pilares de la orientacin a objetos es el encapsulamiento, cuya esencia es que cuando un objeto trae consigo su funcionalidad, esta ltima se oculta de otros objetos y del mundo exterior. Por ejemplo la mayora de la gente que ve televisin no sabe ni se preocupa de la complejidad electrnica del aparato, ni de las operaciones que tienen que ocurrir para mostrar una imagen en la pantalla. La televisin hace su proceso sin

mostrarlo a la persona que la mira (Schmuller, 2003) Con el encapsulado de los datos se consigue que las personas que utilicen un objeto slo tengan que

21

comprender su interfaz, olvidndose de cmo est implementada, y en definitiva, reduciendo la complejidad de utilizacin.

Herencia: el propsito principal de la herencia es el de organizar mejor las clases que componen una determinada realidad, y poder agruparlas en funcin de atributos y comportamientos comunes, a la vez que cada una se especializa segn sus particularidades. Como un objeto es una instancia de una clase, ste tiene todas las caractersticas de la clase de la cual proviene. Cabe sealar que un objeto no slo hereda de una clase, sino que una clase tambin puede heredar de otra clase. (Schmuller, 2003)

Relaciones: mediante las relaciones los objetos colaboran entre si unos con otros, ya que en un sistema los objetos trabajan en conjunto. Existen dos tipos de relaciones que son: asociacin y agregacin, la primera es una conexin entre dos clases que representan una comunicacin, esta puede ser tanto uni como bidireccional y la segunda es una forma especial de asociacin donde un todo se relaciona con sus partes por ejemplo: Una Puerta es una parte de un Vehculo. El Vehculo es azul, la Puerta es Azul. Mover el Vehculo implica mover la Puerta.

Polimorfismo: Es la propiedad que tienen los objetos de permitir invocar genricamente un comportamiento (mtodo) cuya implementacin ser delegada al objeto correspondiente recin en tiempo de ejecucin, es decir, en el polimorfismo una operacin puede tener el mismo nombre en diversas clases y

22

funcionar distinto en cada una, por ejemplo se puede abrir una llave de paso, una puerta, una ventana, un regalo, etc., y en cada caso se realizar una operacin diferente. (Schmuller, 2003)

2.2.4.1 Definicin de un objeto

Un objeto es una instancia de una clase, cada objeto tiene un conjunto de caractersticas y un comportamiento definido (propiedades, mtodos y eventos) que lo diferencian de otros tipos de objeto.

Propiedades: las propiedades son el conjunto de datos que describen las caractersticas de un objeto, es decir, sus atributos. Por ejemplo para un formulario algunas propiedades son: color de fondo, altura, nombre, etc.

Mtodos: cada mtodo es un bloque de cdigo perteneciente a la clase de donde se instancia un objeto, que le permite al mismo ejecutar una accin o tarea. Por ejemplo, para un formulario tenemos el mtodo Hide que har que el formulario se oculte; o el mtodo Show que har que el formulario se vuelva a mostrar.

Eventos: los eventos son acciones reconocidas por el objeto. Un evento ocurre (se dispara) como resultado de la interaccin del usuario con el objeto. Tambin puede dispararse debido a la ejecucin de cdigo (sentencias) como resultado de la interaccin de otro objeto con el objeto poseedor del evento. Por ejemplo el evento Click para un botn de comando, se dispara cuando se hace clic sobre el botn. (Matta Danny).

23

2.2.4.2 Definicin de una clase

Una clase es una categora o grupo de cosas que tienen atributos y acciones similares, dicho de otra forma una clase es una plantilla para crear objetos, y adems es el bloque de construccin primario en el ambiente de orientacin a objetos. Se representa mediante un rectngulo, el cual, se encuentra dividido en tres reas. El rea superior contiene el nombre de la clase, el del centro contiene los atributos y el rea inferior las acciones. Por ejemplo un Carro tiene atributos como por ejemplo: la marca, el modelo, el color, etc., y entre las acciones tenemos desplazarse, aumentar velocidad, se puede representar a un clase Carro como se muestra en figura 2.1.

Figura 2.1: Representacin de una clase Fuente: Prada. V (2008)

2.2.5 Plataforma Microsoft .NET

Microsoft .NET es una plataforma de desarrollo y ejecucin de aplicaciones. Esto quiere decir que no slo nos brinda todas las herramientas y servicios que se necesitan para desarrollar modernas aplicaciones empresariales y

24

de misin crtica, sino que tambin nos provee de mecanismos robustos, seguros y eficientes para asegurar que la ejecucin de las mismas sea ptima (Microsoft, 2005). Los componentes principales de la plataforma .NET son: Un entorno de ejecucin de aplicaciones, tambin llamado Runtime, que es un componente de software cuya funcin es la de ejecutar las aplicaciones .NET e interactuar con el sistema operativo ofreciendo sus servicios y recursos. Un conjunto de bibliotecas de funcionalidades y controles reutilizables, con una enorme cantidad de componentes ya programados listos para ser consumidos por otras aplicaciones. Un conjunto de lenguajes de programacin de alto nivel, junto con sus compiladores y linkers (enlaces), que permitirn el desarrollo de aplicaciones sobre la plataforma .NET. Un conjunto de utilitarios y herramientas de desarrollo para simplificar las tareas ms comunes del proceso de desarrollo de aplicaciones. Documentacin y guas de arquitectura, que describen las mejores prcticas de diseo, organizacin, desarrollo, prueba e instalacin de aplicaciones .NET.

Por otra parte, .NET representa la evolucin COM (Component Object Model), la plataforma de desarrollo de Microsoft anterior a .NET y sobre la cual se basaba el desarrollo de aplicaciones Visual Basic 6 (entre otros tantos lenguajes y versiones).

25

2.2.6 Caractersticas de la plataforma Microsoft.NET

A continuacin se describirn algunas de las caractersticas principales de la plataforma Microsoft .NET, segn Microsoft:

Se dice que es una plataforma de ejecucin intermedia, ya que las aplicaciones .NET no son ejecutadas directamente por el sistema operativo, como ocurre en el modelo tradicional de desarrollo. En su lugar, las aplicaciones .NET estn diseadas para ser ejecutadas contra un componente de software llamado Entorno de Ejecucin (muchas veces tambin conocido como Runtime, o, Mquina Virtual). Este componente es el encargado de manejar el ciclo de vida de cualquier aplicacin .NET, inicindola, detenindola, interactuando con el Sistema Operativo y proveyndole servicios y recursos en tiempo de ejecucin.

La plataforma Microsoft .NET est completamente basada en el paradigma de Orientacin a Objetos.

La plataforma Microsoft.NET es multi-lenguaje, esto quiere decir que para poder codificar aplicaciones sobre esta plataforma no necesitamos aprender un nico lenguaje especfico de programacin de alto nivel, sino que se puede elegir de una amplia lista de opciones.

.NET es una plataforma que permite el desarrollo de aplicaciones empresariales de misin crtica, entendindose por esto que permite la creacin y ejecucin de aplicaciones de porte corporativo que sean crticas

26

para la operacin de tipos variados de organizaciones. Si bien tambin es muy atrayente para desarrolladores no profesionales, estudiantes y entusiastas, su verdadero poder radica en su capacidad para soportar las aplicaciones ms grandes y complejas.

.Net fue diseado de manera tal de poder proveer un nico modelo de programacin, uniforme y consistente, para todo tipo de aplicaciones (ya sean de formularios Windows, de consola, aplicaciones Web, aplicaciones mviles, etc.) y para cualquier dispositivo de hardware (PCs, Pocket PCs, Telfonos Celulares Inteligentes, tambin llamados SmartPhones, Tablet PCs, etc.). Esto representa un gran cambio con respecto a las plataformas anteriores a .NET, las cuales tenan modelos de programacin, bibliotecas, lenguajes y herramientas distintas segn el tipo de aplicacin y el dispositivo de hardware.

Uno de los objetivos de diseo de .NET fue que tuviese la posibilidad de interactuar e integrarse fcilmente con aplicaciones desarrolladas en plataformas anteriores, particularmente en COM, ya que an hoy existen una gran cantidad de aplicaciones desarrolladas sobre esa base.

.NET no slo se integra fcilmente con aplicaciones desarrolladas en otras plataformas Microsoft, sino tambin con aquellas desarrolladas en otras plataformas de software, sistemas operativos o lenguajes de programacin.

27

2.2.7 Ventajas del .NET

Unifica los modelos de programacin: Una de las principales ventajas de .NET es que unifica los modelos de programacin, bibliotecas de funcionalidad y entornos de ejecucin que existan anteriormente para distintos tipos de aplicaciones y distintos dispositivos. Anteriormente a .NET existan lenguajes, bibliotecas, entornos de ejecucin y herramientas de desarrollo distintas y especficas para cada tipo de aplicacin y dispositivo (Visual Basic, Visual C++, ASP/VBScript, Embedded Visual C++, etc.), .NET unifica todos esos modelos de programacin ofreciendo una nica API, un nico entorno de ejecucin, un nico conjunto de bibliotecas y una nica herramienta de desarrollo para cualquier tipo de aplicacin.

Simplifica an ms el desarrollo: la plataforma .NET ofrece un modelo de desarrollo simplificado, basado en objetos que utilizan un sistema unificado de tipos de datos y se empaquetan en componentes reutilizables y auto descriptivos (los assemblies).

Provee un Entorno de Ejecucin robusto y seguro: otra de las ventajas con las que cuenta la plataforma .NET es su robusto entorno de ejecucin el Common Language Runtime (CLR), que provee servicios a las aplicaciones en ejecucin y maneja su ciclo de vida reforzando la seguridad y abstrayendo a los programadores de optimizaciones y manejos de memoria de bajo nivel.

28

Es independiente del lenguaje de programacin: otro de los grandes beneficios de .NET es su soporte a mltiples lenguajes de programacin, lo cual acelera la curva de aprendizaje de los desarrolladores permitiendo que cada uno elija en base a sus gustos personales. Adems, la posibilidad de utilizar las mismas herramientas de programacin y tener las mismas capacidades de acceso a la plataforma independientemente del lenguaje le proporcionan una flexibilidad sin precedentes.

Interoperabilidad con cdigo existente: La plataforma .NET provee un altsimo grado de interoperabilidad con otras aplicaciones: Interoperabilidad entre aplicaciones .NET escritas en distintos lenguajes. Interoperabilidad entre aplicaciones .NET y aplicaciones COM, mediante un mdulo del CLR (Common Language Runtime) llamado COM-Interop. Esto permite reutilizar y aprovechar aplicaciones o componentes existentes desarrollados sobre la plataforma COM (por ejemplo Visual Basic 6). Interoperabilidad entre aplicaciones .NET y mltiples tipos de aplicaciones desarrolladas sobre otras plataformas de software o hardware, incluso plataformas no Microsoft, mediante la tecnologa de Servicios Web XML.

Simplifica la instalacin y administracin de las aplicaciones: .NET tambin simplifica, gracias al uso de assemblies auto-descriptivos, la instalacin y administracin de aplicaciones resolviendo gran parte de los problemas existentes

29

en COM en lo que respecta al registro de componentes, manejo de mltiples versiones en paralelo y compatibilidad de aplicaciones.

Es Extensible: Todas las clases incluidas en el .NET Framework son extensibles mediante los mecanismos de herencia propios de la orientacin a objetos. Esto posibilita que funcionalidades o controles grficos que no cumplan exactamente con una determinada necesidad pueden ser extendidos para agregarle o modificarle comportamiento sin tener que escribir todo el cdigo nuevamente.

2.2.8 .NET Framework

.NET Framework constituye la plataforma y elemento principal sobre el que se asienta Microsoft .NET. Esta plataforma permite el desarrollo de aplicaciones a travs del uso de un conjunto de herramientas y servicios que proporciona, y que pueden agruparse en tres bloques principales: el Entorno de Ejecucin Comn Common Language Runtime (CLR); la jerarqua de clases bsicas de la plataforma .NET Framework Base Classes; y el motor de generacin de interfaz de usuario, que permite crear interfaces para la web o para el tradicional entorno Windows, as como servicios para ambos entornos operativos.

En la base del entorno de ejecucin, se encuentra el CLR, que constituye el ncleo de .NET Framework, encargndose de la gestin del cdigo en cuanto a su carga, ejecucin, manipulacin de memoria, seguridad, etc. En el nivel intermedio, se sita la jerarqua de clases bsicas del entorno de ejecucin que constituyen un slido API de servicios a disposicin del programador, para

30

multitud de tareas como, gestin del sistema de ficheros, acceso a datos, etc. Finalmente, en el nivel superior, se encuentran las clases que permiten el diseo del interfaz de usuario de nuestras aplicaciones. Si es necesario desarrollar aplicaciones para Internet, utilizaremos ASP.NET, que provee todo lo necesario para crear aplicaciones para la Red: web forms, web services, etc. (Blanco, 2002)

2.2.9 Common Language Runtime (CLR)

El Entorno de Ejecucin Comn de Lenguajes Common Language Runtime (CLR), representa el alma del .NET Framework y es el encargado de la ejecucin del cdigo de las aplicaciones. A continuacin se enumeran algunas de las caractersticas de este componente de la plataforma:

Compilacin Just In Time (o Justo A Tiempo): el CLR se encarga de compilar las aplicaciones .NET a cdigo de mquina nativo para el sistema operativo y la plataforma de hardware en la que se est ejecutando. Esto lo hace sin intervencin alguna del desarrollador o el usuario, y solamente a medida que se necesita.

Gestin Automtica de Memoria: el CLR abstrae a los desarrolladores de tener que pedir y liberar memoria explcitamente. Para esto, uno de sus componentes llamado Garbage Collector (Recolector de Basura) se encarga de liberar peridicamente la memoria que ya no est siendo usada por ninguna aplicacin. Por otra parte, el CLR tambin abstrae a los desarrolladores del uso de punteros y del acceso a memoria de bajo nivel. Si bien estas caractersticas pueden ser

31

consideradas poderosas, suelen hacer el desarrollo y mantenimiento de aplicaciones ms propenso a errores y menos productivo.

Gestin de Errores Consistente: como las aplicaciones .NET no se ejecutan directamente contra el Sistema Operativo, cualquier error no manejado que ocurra en tiempo de ejecucin ser atrapado por el CLR en ltima instancia, no afectando a ninguna otra aplicacin que se est ejecutando ni teniendo efecto alguno sobre su estabilidad.

Ejecucin Basada en Componentes: todas las aplicaciones .NET son empaquetadas en componentes reutilizables denominados genricamente

Assemblies, que el CLR se encarga de cargar en memoria y ejecutar.

Gestin de Seguridad: el CLR provee una barrera ms de contencin a la hora de ejecutar aplicaciones manejadas, ya que permite establecer polticas de seguridad muy detalladas que las aplicaciones .NET que se ejecuten en una determinada computadora debern cumplir.

Multithreading: el CLR provee un entorno de ejecucin multi-hilos por sobre las capacidades del Sistema Operativo, as como tambin mecanismos para asegurar su sincronizacin y acceso concurrente a recursos compartidos.

2.2.10 Common Language Specification (CLS)

La Especificacin de Lenguaje Comn Common Language Specification (CLS), consiste en un conjunto de caractersticas comunes, que deben cumplir

32

todos los lenguajes de la plataforma para poder integrarse entre s. Uno de los objetivos de diseo de la plataforma .NET fue el ser independiente del lenguaje de programacin elegido para el desarrollo de aplicaciones. Para lograr esto se cre la Especificacin de Lenguaje Comn (CLS), que define y estandariza un subconjunto de todas las caractersticas soportadas por el CLR (Common Language Runtime) y que son necesarias en la mayora de las aplicaciones. Todos los componentes desarrollados y compilados de acuerdo con la especificacin CLS pueden interactuar entre si, independientemente del lenguaje de programacin de alto nivel en el que fueron escritos. Esto tiene varias finalidades, que describimos a continuacin:

Independencia del lenguaje: en muchas ocasiones el programador se ve obligado a escribir el cdigo en un lenguaje que no es de su agrado; la causa de ello es que dicho lenguaje le provee de funcionalidades de las cuales carece su lenguaje preferido. Con .NET, esto no ocurre, puesto que es la propia plataforma la que proporciona la funcionalidad de modo independiente al lenguaje, por lo que podemos escribir nuestras aplicaciones utilizando el lenguaje con el que nos sintamos ms cmodos, ya que el resultado ser el mismo.

Integracin entre lenguajes: es posible escribir, por ejemplo, una librera de clases en un lenguaje, y utilizarla desde otro lenguaje distinto (siempre que ambos lenguajes cumplan con las normas del CLS). Este concepto no es nuevo, hasta ahora tambin podamos escribir una librera en C++ y utilizarla desde VB, pero gracias al CLS, se extiende y se potencia este modo de trabajo, ya que al basarse

33

los lenguajes en un conjunto de reglas comunes, el acceso en el caso antes mencionado, a una librera de clases, se facilita enormemente desde cualquier otro lenguaje creado en base al CLS.

Apertura a nuevos lenguajes. Finalmente, al ser esta, una especificacin abierta, es posible incorporar a .NET Framework nuevos lenguajes, aparte de los actualmente disponibles, y no slo creados por Microsoft, sino por cualquier otro fabricante. Mediante el CLS, un fabricante de software sabe qu requisitos debe observar un nuevo lenguaje que l desarrolle, para poder integrase en el entorno de .NET Framework. Terceros fabricantes ya han anunciado en este sentido, su intencin de proporcionar nuevos lenguajes para .NET; de esta forma aparecern progresivamente versiones para esta plataforma de Cobol, Perl, Smalltalk, etc., en una lista en la que actualmente figuran ms de veinte lenguajes candidatos.

2.2.11 Herramientas de desarrollo .NET

Visual Studio es la herramienta de desarrollo por excelencia de la plataforma .NET, siendo una herramienta nica que permite desarrollar cualquier tipo de aplicacin (Web, Windows, de Consola, para dispositivos Mviles, para Microsoft Office, de Bases de Datos y ms) en cualquiera de los lenguajes .NET provistos por Microsoft (C#, VB.NET, C++.NET y J#). La familia de Visual Studio 2005 tiene un producto a la medida de las necesidades y posibilidades de cada tipo de desarrollador, partiendo de la lnea gratuita de versiones Express a una suite completa de productos destinada a grandes equipos de desarrollo denominada Visual Studio Team System.

34

2.2.12 Definicin de un control .NET

Un control .NET es un objeto que se inserta dentro de un formulario, y que permite al mismo interactuar con el usuario. Gracias a la programacin orientada a objetos, los controles son componentes reusables, con los cuales se pueden construir programas. Estos controles poseen propiedades que el usuario puede cambiar y que determinan como lucirn, adicionalmente poseen mtodos que le permiten al usuario ejecutar acciones con ellos (Himpe, 2007).

2.2.13 El concepto de 1-Wire 1-Wire es una tecnologa desarrollada por la Empresa Dallas-MaximTM, la cul, consiste en un bus de bajo costo basado en un PC o un microcontrolador que permite la implementacin de una comunicacin serial asincrnica entre un maestro y uno o varios dispositivos esclavos, utilizando un solo conductor ms su retorno para efectuar las comunicaciones y la transmisin de energa. Entre los dispositivos que se pueden comunicar por la red 1-Wire existen contadores, memorias RAM, EEPROM, conversores A/D, sensores de temperatura, termostatos, etc.

En este tipo de red, el dispositivo maestro y los esclavos comparten una lnea de data comn como puede observarse en la figura 2.2. Un aspecto importante de esta tecnologa 1-Wire es que cada dispositivo esclavo tiene una direccin digital nica e irrepetible (nmero de serial de fbrica) que lo identifica y que adems garantiza un direccionamiento estricto de los mismos. Debido a que

35

uno, dos o incluso docenas de dispositivos pueden compartir la red 1-Wire, se utiliza un algoritmo de bsqueda binario para encontrar a cada dispositivo presente en la red.

Figura 2.2: Ilustracin de una red 1-Wire Fuente: http://www.maxim-ic.com/1-Wire.cfm (2007)

2.2.14 Elementos que componen una red 1-Wire

La red 1-Wire utiliza una topologa maestro-esclavo, en la cual, existe un nico dispositivo maestro y uno o ms esclavos. Segn la nota de aplicacin 1796 de la empresa Maxim (Dallas-Maxim, 2002), esta red se compone de tres elementos principales: (1) un maestro de bus con un software de control como el visor de dispositivos TMEX iButton, (2) el cableado y los conectores asociados, y (3) los dispositivos 1-Wire. Por otra parte, la red 1-Wire, brinda un estricto control sobre la comunicacin debido a que ningn nodo de interconexin est autorizado a transmitir informacin a menos que se lo indique el dispositivo maestro, adems, no est permitida la comunicacin directa entre los esclavos.

La implementacin del maestro 1-Wire puede hacerse a travs de diferentes medios, siendo los ms utilizados un computador, un microcontrolador o un circuito integrado de aplicacin especfica ASIC5. En cada caso, se requiere

36

de determinados recursos hardware. Para la implementacin basada en un computador, se necesita un adaptador de puerto de comunicaciones, denominado Host Adapter. Este dispositivo permite establecer la conexin fsica entre el puerto de computador y la red 1-Wire. Existen adaptadores de red para los puertos paralelo, serial RS-232C y USB, siendo estos dos ltimos los ms utilizados. La figura 2.3, muestra los adaptadores de Dallas

Semiconductor/Maxim para puerto serial (A) y USB (B), modelos DS9097U y DS9490R, respectivamente. Tambin se muestra un adaptador para puerto serial modelo iLink-12i de la empresa iButtonLink (http://www.ibuttonlink.com). Adicionalmente, Dallas Semiconductor fabrica circuitos integrados que permiten la implementacin de interfaces de comunicacin de diseo propio, tanto para puerto serial como para puertos USB. (Rodrguez, 2007).

Figura 2.3: Diferentes tipos de adaptadores de red 1-Wire. (A) Modelo DS9097U, (B) Modelo DS9490R, (C) Modelo iLink12i Fuente: Rodrguez. J (2007)

37

2.2.15 Funcionamiento de la red 1-Wire

Una red de dispositivos 1-Wire est conformada por un maestro y uno o ms esclavos que poseen un nico terminal de datos de tipo open drain, al que se conecta una resistencia de pull-up alimentada por + 5 V nominales. Un algoritmo de bsqueda binario es utilizado para encontrar a cada dispositivo por medio de su direccin digital, la cul, como ya se mencion es nica para cada dispositivo. La red 1-Wire, brinda un estricto control sobre la comunicacin debido a que ningn nodo de interconexin est autorizado a transmitir informacin a menos que se lo indique el dispositivo maestro, adems, no est permitida la comunicacin directa entre los esclavos.

El primer paso de cualquier comunicacin involucra que el bus master emita un reset, el cual, sincroniza el bus completo, seguidamente un dispositivo esclavo es seleccionado para siguientes comunicaciones. Una vez que un dispositivo ha sido seleccionado, todos los otros dispositivos que se encuentran conectados al bus se colocan en drop out ignorando las siguientes comunicaciones hasta que el prximo reset sea emitido. Una vez que un dispositivo ha sido aislado por el bus de comunicacin el master puede emitirle comandos y enviar o leer data de l. An cuando cada tipo de dispositivo tiene diferentes protocolos y ventajas, todos ellos tienen el mismo proceso de seleccin y flujo como se muestra en la figura 2.4.

38

Resetear el bus 1-Wire

Seleccionar el dispositivo 1-Wire

Funcionamiento de un dispositivo para una operacin especfica

Figura 2.4: Flujo Tpico de una comunicacin 1-Wire Fuente: Application Note 155. 1-Wire Software Resource Guide.

Algunas de las caractersticas de la red 1-Wire, segn (Rodrguez y Villegas,ao) son: Utiliza niveles de alimentacin compatibles con las tecnologas CMOS/TTL en un rango de operacin desde 2.8 Vdc hasta 6Vdc. El dispositivo maestro y los dispositivos esclavos transmiten informacin en forma bi-direccional, pero, slo en una direccin a la vez. De sta manera la comunicacin ser realiza en forma duplex. Toda la informacin transmitida a travs del bus, es leda o escrita comenzando por el bit menos significativo (LSB). No se requiere del uso de una seal de reloj para realizar la sincronizacin, ya que, cada componente 1-Wire posee un oscilador interno que se sincroniza con el del maestro cada vez que en la lnea de datos aparece un flanco de bajada transicin beta (de nivel lgico alto a nivel lgico bajo). La alimentacin de los esclavos se realiza utilizando el voltaje propio del bus. Para ello, cada circuito esclavo posee un rectificador de media onda y un capacitor. Durante los perodos en los cuales no se efecta half

39

comunicacin, la lnea de datos se encuentra en estado alto debido a una resistencia de PullUp; en esa condicin, un diodo entra en conduccin y carga a un capacitor. Cuando el voltaje de la red cae por debajo de la tensin del capacitor, el diodo se polariza en inverso evitando que el capacitor se descargue. La carga que queda almacenada en el capacitor es la que finalmente alimenta al circuito integrado conectado como esclavo. La red de dispositivos 1-Wire, en general, tiene capacidad para manejar hasta 100 dispositivos esclavos distribuidos a lo largo de una distancia de 200 metros. Todas las tensiones presentes en el bus mayores a 2.2 Vdc, son consideradas un (1) lgico mientras que como un (0) lgico se interpreta cualquier voltaje menor de 0,8 Vdc. La transferencia de informacin se realiza a una velocidad de 16.3 Kbps en modo Estndar y hasta a 142 Kbps en modo Overdrive.

2.2.16 Protocolo de comunicaciones 1-Wire

Se puede describir al protocolo de comunicaciones 1-Wire como una secuencia de transacciones de informacin, la cual, se desarrolla segn los siguientes pasos: (1) Inicializacin, (2) Comandos y funciones de ROM, (3) Comandos y funciones de control y memoria, (4) Transferencia de bytes o datos (Parallax, 2004). A continuacin se describe cada paso.

40

Inicializacin: Todas las comunicaciones en el bus 1-Wire comienzan con una secuencia de un pulso de reset y presencia. El pulso de reset provee una forma conveniente de iniciar las comunicaciones, ya que, con l se sincronizan todos los dispositivos esclavos presentes en el bus. Un reset es un pulso que genera el maestro al colocar la lnea de datos en estado lgico bajo por aproximadamente 480 s. Una vez liberado, el bus retorna al nivel alto y luego de un tiempo comprendido entre 15 a 60 s, los dispositivos esclavos transmitirn un pulso de presencia. Este consiste en forzar la lnea de datos a nivel bajo durante un tiempo entre 60 a 240 s. El maestro, esperar por los pulsos de presencia con el bus en estado alto, a travs de la resistencia de PullUp, por un tiempo de al menos 240 s. Cuando se trabaja al bus en su velocidad estndar, los pulsos de reset y presencia tendrn las caractersticas como las mostradas en la figura 2.5.

La lnea espera respuesta del esclavo Lnea de datos red 1-Wire +5V Inactivo 0V 480s 60-240s Pulso de Reset Pulso de Presencia 15-60s

Figura 2.5: Representacin grfica de un pulso de reset y presencia. Fuente: Rodrguez. J (2006)

41

Comandos y funciones de ROM: Una vez que el dispositivo maestro recibe el pulso de presencia de los dispositivos esclavos, puede enviar un comando de ROM. Los comandos de ROM son comunes a todos los dispositivos 1-Wire y se relacionan con la bsqueda, lectura y utilizacin de la direccin de 64 bits que identifica a esclavos.

Comandos y funciones de control y memoria: Son funciones propias de cada dispositivo 1-Wire. Incluyen comandos para leer/escribir en localidades de memoria, leer memorias scratchpad, controlar el inicio de la conversin de un ADC, iniciar la medicin de una temperatura o manipular el estado de un bit de salida, entre otros. Cada dispositivo define un conjunto de comandos propios a su funcionalidad. Transferencia de datos: La lectura y escritura de datos en el bus 1-Wire se hace por medio de Slot la generacin de stos es responsabilidad del dispositivo maestro. Cuando el maestro lee informacin del bus, debe forzar la lnea de datos a un estado bajo durante al menos 4 s y esperar adicionalmente 15 s para leer el estado presente en la lnea. El estado lgico de la lnea en ese momento, estar determinado por el dispositivo esclavo. La figura 2.6, muestra el proceso de lectura de un bit (slot de lectura), mientras que la figura 2.7, muestra el proceso de escritura de un bit (slot de escritura).

42

Figura 2.6: Transmisin de bits bajo el protocolo 1-Wire Lectura de un (0) y un (1) desde el Maestro. Fuente: Modificado de (Parallax, 2004)

Figura 2.7: Transmisin de bits bajo el protocolo 1-Wire Escritura de un (0) y un (1) desde el Maestro. Fuente: Modificado de (Parallax, 2004)

43

2.2.17 API de programacin 1-Wire

Un API Application Program Interface o interfaz de programa de aplicacin, es la plataforma que proporciona el fabricante para acceder a los dispositivos y la red 1-Wire desde un computador. Bsicamente se definen como un conjunto de subprogramas o funciones de bajo nivel programadas en un entorno que depende tanto del lenguaje de programacin como del sistema operativo utilizado, tal como se muestra en la figura 2.8.

Actualmente el fabricante de dispositivos 1-Wire, dispone de cinco diferentes API, las cuales, se describen a continuacin:

1-Wire Public Domain (PD): Conjunto completo de cdigos y funciones abiertas en lenguaje C, las cuales, soportan la conexin con un PC a travs de un adaptador tipo serial denominado DS9097U equivalente.

1-Wire API for JAVA (OWAPI): Conjunto completo de cdigos y funciones abiertas en lenguaje JAVA, los cuales, soportan la conexin con un PC a travs de un adaptador tipo serial denominado DS9097U equivalente y casi la totalidad de los dispositivos 1-Wire.

1-Wire COM (OWCOM): Modelo de componentes objetos (COM) que implementa un interfaz en base a cdigos y funciones escritas y utilizadas por el API de JAVA (OWAPI), el cual, es accesible a travs de lenguajes de programacin como el Java y el Visual Basic Script.

44

Figura 2.8: Libreras API requeridas para cada tipo de aplicacin. Fuente: Dallas Semiconductor/Maxim (2005)

45

1-Wire TMEX API: Conjunto completo de funciones independientes del lenguaje (DLLs), proveen soporte a todos los dispositivos y adaptadores de red 1-Wire que trabajen bajo la plataforma Windows de 32 Bits, son al mismo tiempo, las funciones que se utilizarn para acceder a los diferentes dispositivos en la red 1-Wire. El API TMEX, est diseado para trabajar en aplicaciones multiprocesos - multitareas y es soportado por todos los sistemas operativos Windows 32 bits.

1-Wire API.NET: Conjunto completo de funciones independientes del lenguaje (DLL), para ser utilizada con la nueva plataforma de Microsoft .NET. En realidad el API.NET resulta de la compilacin del API for Java realizado con la versin de J# de Microsoft.

Este ltimo 1-Wire API.NET, fue el seleccionado para el desarrollo de la presente investigacin, debido a que posee una gran cantidad de clases con propiedades y mtodos que permiten trabajar con todos los dispositivos 1-Wire utilizando la plataforma .NET., que fue la plataforma seleccionada para la elaboracin del control, ya que sta es la plataforma impuesta por Microsoft que se maneja en la actualidad.

2.2.18 iButton Hygrochron

Es un microcircuito autnomo con una direccin nica de fbrica embebido en un empaque de acero inoxidable de 16 mm de dimetro, este sensor de la familia iButton llamado DS1923 integra dos chips en un solo empaque, adems

46

de tener un sensor de temperatura aade uno de humedad, teniendo la capacidad de leer en tiempo real y de almacenar la data tanto de temperatura como de humedad, con una alta capacidad de memoria, exactitud y resolucin. Este nuevo producto posee una pequea abertura en la parte superior que emplea un filtro especial para permitir el paso de vapor de agua a travs del empaque para que pueda llegar hasta el sensor de humedad interno, pero repele el agua en fase lquida.

Este dispositivo graba las lecturas de temperatura y humedad en una seccin de memoria protegida, y puede almacenar un total de 8192 lecturas de 8 bits o 4096 de 16 bits tomadas en intervalos equidistantes de 1 segundo a 273 horas. Adicionalmente hay 512 bytes de SRAM para almacenar informacin de una aplicacin especfica y 64 bytes para calibracin de la data. Una misin para recolectar la data puede ser programada para empezar inmediatamente despus de un retardo definido por el usuario.

Figura: 2.9 iButton Hygrochron Fuente: Dallas Semiconductor/Maxim (2006)

47

2.3 Definicin de trminos .NET: Nueva plataforma de programacin y modelo de objetos de Microsoft TM.

ADC: Siglas para denominar a la conversin analgica a digital.

1-Wire: Circuitos integrados con capacidad de comunicacin en red que utilizan un slo conductor ms alimentacin para la propagacin de informacin digital.

API: Iniciales de Application Program Interface, normalmente es un conjunto de libreras o paquetes de desarrollo que le permiten al programador acceder a los recursos de un hardware.

Assembly: Un Assembly es la menor unidad de ejecucin y distribucin de una aplicacin .NET.

Autosuficiente: Propiedad que poseen los iButton que no necesitan alimentacin externa, una vez que el mismo ha sido programado.

Bit: Unidad de informacin digital bsica, slo puede ser un cero (0) o un uno (1).

CRC: Iniciales de Comprobacin de Redundancia Cclica, es un algoritmo que permite detectar errores en datos digitales con una confiabilidad superior al 99 por ciento.

Dallas-Maxim - Semiconductors: Empresa Norteamericana actualmente reconocida como lder mundial en la fabricacin de semiconductores.

48

Formulario: Es una ventana estndar, para comunicarse con el usuario, sobre la cual se aaden controles y se puede modificar su aspecto inicial.

Full-duplex: Es un tipo de transmisin de datos, en la cual, ambas estaciones punto a punto pueden simultneamente enviar y recibir datos, es decir, pueden transmitir las dos a la vez.

Half-duplex: Es un tipo de transmisin de datos, en la cual, slo una de las dos estaciones punto a punto puede transmitir cada vez.

iButton: Dispositivo 1-Wire embebido en un contenedor de acero inoxidable.

Interfaz: Es en general, la manera que tiene un cliente de conversar con una clase.

KBps: Trmino que define la velocidad de transmisin de informacin a kilo bit por segundo.

Open Drain: Etapa de salida a transistor con el colector abierto sin conexin.

Overdrive: Modo de alta velocidad de operacin de la red 1-Wire.

PullUp: Resistencia colocada generalmente entre la alimentacin dc y un transistor open drain.

Pulso de presencia: Respuesta emitida por los dispositivos esclavos de la red 1-Wire que permite al maestro detectar la existencia de los mismos.

49

Pulso de reset: Pulso de duracin estricta y definida utilizado para re-inicializar por medio del software la actividad realizada por los dispositivos esclavos en una red 1-Wire.

Rollover: Propiedad de sobre-escritura que poseen los iButton Hygrochron, si la misma se encuentra activada, cuando el dispositivo alcanza el total de muestras que puede almacenar durante una misin, comienza a almacenar las nuevas lecturas sobre las ya existentes.

Scratchpad:

Memoria

de

trabajo

intermedia

disponible

en

algunos

semiconductores.

Sistema: En el presente trabajo se considerar a un sistema como una combinacin de software y hardware que da una solucin a un problema.

Slots: Ranuras de tiempo sincronizadas y espaciadas correctamente en la red 1-Wire.

UML: Abreviacin de Lenguaje Unificado de Modelado.

CAPITULO III MARCO METODOLGICO

CAPITULO III

MARCO METODOLGICO

En el presente captulo se habla sobre el tipo de investigacin, las tcnicas de recoleccin y anlisis de datos, finalizando con la metodologa a utilizar para el cumplimiento de los objetivos planteados en el Captulo I.

3.1. Tipo y diseo de la investigacin

El presente Trabajo Especial de Grado, titulado Aplicacin del Lenguaje Unificado de Modelado (UML) al diseo de controles .NET para dispositivos con tecnologa 1-Wire, se enmarca dentro de una investigacin de campo, tipo proyecto factible, ya que se desarroll un modelo operativo para solucionar una necesidad instrumental utilizando alta tecnologa.

Segn el Manual de Trabajos de Grado de Especializacin, Maestra y Tesis Doctorales de la Universidad Pedaggica Experimental Libertador (1998), pg.,7:

Un proyecto factible consiste en la investigacin, elaboracin y desarrollo de una propuesta de un modelo operativo viable para solucionar, requerimientos o necesidades de organizaciones o grupos sociales; puede referirse a la formulacin de polticas, programas, tecnologas, mtodos o procesos. El proyecto debe tener el apoyo en una investigacin de tipo documental, de campo o un diseo que cumpla con ambas modalidades.

52

3.2. Tcnicas de recoleccin de datos

Los datos necesarios para cumplir con los objetivos planteados en la presente investigacin fueron recolectados en dos etapas. Primero se realiz un arqueo de informacin a travs de artculos referentes al tema extrados de Internet, libros y datos del fabricante. Este arqueo de informacin se bas en cuatro tpicos, los cuales son: Aplicaciones y uso del UML, Lenguajes de programacin orientada a objetos, tecnologa 1-Wire y las herramientas disponibles por la empresa Dallas Semiconductor para trabajar con sus dispositivos.

En segundo lugar los datos necesarios para la elaboracin de este proyecto fueron recolectados en campo, los cuales, estn relacionados a las propiedades y caractersticas del dispositivo, tales como:

Serial e identificacin del dispositivo Intervalo de tiempo entre diferentes mediciones. Informacin sobre la hora y fecha de inicio de una misin. Resolucin aplicada a la medicin de la temperatura y la humedad relativa.

Mediciones de temperatura y humedad relativa. Puntos de alarmas para alta y baja temperaturas. Puntos de alarmas para alta y baja humedad relativa. Total de muestras almacenadas en el dispositivo.

53

3.3. Tcnicas de anlisis de datos

Se realiz un anlisis de fuentes secundarias mediante la lectura de textos y artculos relacionados con el tema de investigacin y aspectos tcnicos importantes para el desarrollo del presente trabajo.

Los datos recolectados de campo sirvieron para la generacin de registros que permitieron la construccin de tablas, grficas de tendencia histrica e histogramas de frecuencias, los cuales, se utilizan para realizar una futura interpretacin de los datos y tomar medidas correctivas de ser necesario. Para efectos de la graficacin se utiliz el Dundas Chart for .NET, el cual es una herramienta que ofrece soluciones grficas en aplicaciones.

3.4 Procedimiento metodolgico

Para llevar a cabo el presente Trabajo de Grado, se realizaron una serie de actividades, las cuales la autora las agrupa en tres fases:

Fase N 1: Revisin documental.

En esta primera fase se realiz una revisin bibliogrfica de diversas fuentes, como ya se mencion anteriormente, esta fase contempl la siguientes actividades: Estudiar el Lenguaje Unificado de Modelado en el desarrollo de sistemas, especificaciones, simbologa y construccin de diagramas.

54

Anlisis del protocolo de comunicaciones 1-Wire y especificaciones del iButton Hygrochron.

Realizar un arqueo de informacin sobre las clases contenidas en las API de programacin 1-Wire API .NET, con el fin de necesarias para la construccin del control .NET. seleccionar las

Estudiar el lenguaje de programacin orientada a objetos Visual Basic .NET.

Fase N 2: Construccin del control .NET

En esta segunda fase se construy el control .NET aplicando el Lenguaje Unificado de Modelado UML, para lograr el desarrollo de esta fase se realizaron las siguientes actividades: Identificacin de los requerimientos del control. Construccin de los diagramas de casos de uso. Descripcin de las clases 1-Wire API.NET seleccionadas para la comunicacin con el iButton Hygrochron. Seleccionar de los mtodos contenidos en las clases, aquellos que permitan crear los mtodos del control a travs de la herencia, para as cumplir con los requerimientos del mismo. Construccin del diagrama de clases. Construccin de los diagramas de colaboraciones. Construccin de los diagramas de secuencias.

55

Elaboracin del cdigo fuente, con la ayuda de los diagramas de especificaciones UML y de los mtodos contenidos en las clases de las 1-Wire API.NET seleccionadas.

Fase N 3: Validacin del control .NET

En esta ltima fase se elabor una aplicacin para validar el control .NET construido, demostrando as su correcto funcionamiento, en esta fase se realizaron las siguientes actividades: Explicacin del uso del control .NET a travs de un ejemplo. Elaboracin del cdigo fuente de la aplicacin. Descripcin detallada del uso y manejo de la aplicacin. Realizar un ejemplo de programacin y descarga de datos de una misin

CAPITULO IV CONSTRUCCIN DEL CONTROL .NET APLICANDO UML

CAPITULO IV

CONSTRUCCIN DEL CONTROL .NET APLICANDO UML

Siguiendo lo planteado en la metodologa descrita en el captulo tres, se desarrollan las diversas fases para la realizacin de la propuesta de ingeniera Aplicacin del Lenguaje Unificado de Modelado (UML) al diseo de controles .NET para dispositivos con tecnologa 1-Wire. En la fase de documentacin se recopil la informacin necesaria para fijar las bases de la propuesta planteada, en este aspecto se revisaron libros de UML as como el documento sobre las especificaciones del UML versin 2.0, desarrollado por el Object Management Group (OMG), disponible en internet en la pgina web

http://www.omg.org/spec/UML/2.0/Infrastructure/PDF. Seguidamente se realiz un estudio del leguaje de programacin Visual Basic .NET para desarrollar el cdigo fuente, una vez elaboradas las especificaciones necesarias en UML.

4.1 Requerimientos del control

El primer paso para el desarrollo de cualquier sistema bajo el concepto de UML es determinar los requerimientos del cliente y de los futuros usuarios, y a partir de all efectuar la elaboracin de los diferentes diagramas que conforman al UML, los cuales, permiten examinar al sistema desde diferentes puntos de vista. Los requerimientos son una descripcin de las necesidades o deseos de un producto. La meta es identificar y documentar lo que en realidad se necesita, en

58

una forma clara que pueda ser comunicado al cliente, al usuario y a los miembros del equipo de desarrollo. Una vez construidos los diagramas de especificaciones UML en base a los requerimientos, se selecciona el lenguaje de programacin a utilizar y se definen las propiedades, mtodos y eventos que tendr el control.

Se construy un control .NET para el manejo del iButton Hygrochron, que permite programarle una misin, detenerla y descargar la data almacenada durante el tiempo que estuvo activa la misin. Una misin consiste en grabar en los registros internos del dispositivo una serie de parmetros para que ste comience a leer y almacenar en su memoria no voltil la temperatura y la humedad del medio ambiente donde se encuentra, a una fecha y hora especfica, establecer el tiempo entre muestras, activar o desactivar la funcin de rollover que posee el iButton, establecer los valores de las alarmas alta y baja de cualquiera de las magnitudes que mide, activar o desactivar alarma de alta y baja temperatura, activar o desactivar alarma de alta y baja humedad, e indicar si la misin se encuentra activa o inactiva. Para lograr la comunicacin con el iButton Hygrochron es necesario utilizar un adaptador de puerto de comunicaciones, el cul fue el DS9490B (ver anexo B) fabricada por Dallas Semiconductor y el control construido en el presente trabajo.

El control tambin debe determinar el nmero total de muestras tomadas durante la misin y detectar cuando ocurra un error. Una vez grabada la misin se retira al iButton del adaptador y se coloca en el lugar de estudio. En el momento requerido, el usuario retira el dispositivo del lugar de estudio, lo coloca

59

nuevamente en el adaptador y utilizando el control aqu construido detiene la misin y descarga toda la data almacenada en el dispositivo desde el momento en que se inici la misin hasta el momento en que se detuvo.

4.2 Casos de uso

Un caso de uso es una estructura para describir la forma en que un sistema lucir para los usuarios potenciales. Es una coleccin de escenarios iniciados por una entidad llamada actor (una persona, un componente de hardware u otro sistema) y el resultado debe ser algo utilizable ya sea por el actor que la inici o por otro actor. Adems ayuda a comprender la forma en que un sistema deber comportarse sin preocuparse por la forma en que el mismo ser implementado (Schmuller, 2003). Dicho de otro modo, es un documento narrativo con una secuencia de eventos para completar un proceso que muestra la interaccin entre un sistema de informacin y los usuarios de ste (actores). Por otra parte, es importante destacar que el proceso unificado se maneja mediante casos de uso. En la figura 4.1 se muestra la representacin de un caso de uso, la silueta representa a un actor, la elipse representa un caso de uso, el cuadro representa el sistema y la lnea que une al actor con la elipse representa la comunicacin.

Figura 4.1: Representacin de un caso de uso Fuente: Prada. V (2008)

60

Cabe sealar, que existen cuatro tipos de relaciones en los casos de uso que son: inclusin, extensin, generalizacin y agrupamiento.

Inclusin: consiste en utilizar los pasos comunes de un caso de uso dentro de otro, es decir, un caso de uso forma parte de otro caso de uso y en consecuencia no interaccionan con un actor. La forma de representar una inclusin es mediante una lnea discontinua que parte de un caso de uso y termina con una punta de flecha que apunta a la inclusin y sobre la lnea discontinua se coloca la palabra incluye dentro de dos parntesis angulares.

Extensin: permite crear un nuevo caso de uso a partir de uno existente mediante la adicin de nuevos pasos. La forma de representar una extensin es mediante una lnea discontinua que parte del nuevo caso de uso y termina con una punta de flecha que apunta al caso de uso original y sobre la lnea discontinua se coloca la palabra extender dentro de dos parntesis angulares.

Generalizacin: este tipo de relacin est basada en la herencia, un caso de uso puede heredar las acciones de otro caso de uso y agregar las propias. La generalizacin se representa mediante una lnea continua que conecta al caso de uso principal con el secundario, colocando una punta de flecha en forma de tringulo que apunte al caso de uso principal, es decir, del caso del cual se hereda. La generalizacin tambin puede establecerse entre actores.

Agrupamiento: consiste en agrupar en paquetes a los casos de uso que se relacionan.

61

4.3 Casos de uso del control Hygrochron

Para el control construido en la presente investigacin, en un principio se analizaron tres casos uso que son: Iniciar Misin, Detener Misin y Leer Datos de la Misin, los cuales, pueden apreciarse en las figuras 4.2, 4.3 y 4.4 respectivamente. Estos tres casos de uso se agrupan para formar un diagrama de casos de uso inicial del control HYGROCHRON como puede observarse en la figura 4.5. Un diagrama de casos de uso muestra a los casos de uso de un sistema y sus relaciones, estos diagramas son los primeros a presentar en un sistema modelado con UML, en vista de que ellos muestran un panorama general de lo que har el sistema.

Figura 4.2: Caso de uso Iniciar Misin Fuente: Prada.V (2008)

Figura 4.3: Caso de uso Detener Misin Fuente: Prada. V (2008)

62

Figura 4.4: Caso de uso Leer Datos de la Misin Fuente: Prada. V (2008)

Figura 4.5: Diagrama de casos de uso inicial Fuente: Prada. V (2008)

Una vez construido el diagrama de casos de uso inicial se comienza a realizar iteraciones, hasta lograr representar en un diagrama de casos de uso genrico el comportamiento del sistema terminado, as como las interacciones con los usuarios del mundo exterior. Ahora al realizar la segunda iteracin es necesario representar el caso de uso Iniciar Misin en dos casos de uso separados: Iniciar Misin por Defecto e Iniciar Nueva Misin, debido a que puede

63

presentarse cualquiera de estas dos opciones, transformndose el diagrama de casos de uso de la figura 4.5 en el diagrama de la figura 4.6. En este sentido, se puede observar que en el diagrama de casos de uso de la figura 4.6 existe un usuario, el cual, en este sistema es una persona, quien inicia una misin bien sea por defecto (el dispositivo toma los valores de la misin anterior) o una nueva donde el usuario establece los valores de los parmetros requeridos por l.

Figura 4.6: Diagrama de casos de uso de la segunda iteracin Fuente: Prada. V (2008)

El usuario puede detener la misin en el momento que lo desee, sin embargo, no obtiene ningn beneficio al realizar sta accin, el beneficio se obtiene en el momento en que el usuario descarga los datos de la misin, para

64

poder leerlos y analizarlos. Una tercera iteracin arroja el diagrama de casos de uso del control HYGROCHRON que se observa en la figura 4.7, adicionalmente a ste diagrama se le anexan las descripciones de los diferentes casos de uso para darle una mayor compresin al mismo, los cuales van desde el cuadro 4.1 al 4.15. El siguiente paso una vez construido el diagrama de casos de uso, es construir el diagrama de clases que conforman al control .NET, y a partir de ambos se obtendrn los diagramas de interaccin, los cuales, constituyen el tercer paso del proceso unificado.

Figura 4.7: Diagrama de casos de uso del control HYGROCHRON Fuente: Prada. V (2008)

66

Caso de Uso: Iniciar Misin por Defecto Breve Descripcin: El caso de uso Iniciar Misin por Defecto, le permite al usuario comenzar una misin sin necesidad de asignar previamente los valores a los parmetros requeridos para la toma de datos durante la misin, ya que el control toma los valores por defecto que proporciona el dispositivo Hygrochron. Descripcin por pasos: 1.- Se debe abrir el puerto utilizando el caso de uso Abrir Puerto. 2.- Si se desea que el control busque el puerto en forma automtica se utiliza el caso de uso Auto Buscar Puerto. 3.- Se inicia la bsqueda del dispositivo utilizando el caso de uso Buscar Dispositivo. 4.- Se debe verificar el estatus de la misin utilizando el caso de uso Verificar Estatus de Misin y Finalizarla. 5.- Se programa la misin en el dispositivo Hygrochron utilizando el caso de uso Programar Dispositivo con Valores Predefinidos en el Sistema.Cuadro 4.1: Caso de uso Iniciar Misin por Defecto Fuente: Prada. V (2008)

Caso de Uso: Iniciar Nueva Misin Breve Descripcin: El caso de uso Iniciar Nueva Misin, le permite al usuario comenzar una misin asignando previamente los valores a los parmetros requeridos por el para la toma de datos durante la misin. Descripcin por pasos: 1.- Se debe abrir el puerto utilizando el caso de uso Abrir Puerto. 2.- Si se desea que el control busque el puerto en forma automtica se utiliza el caso de uso Auto Buscar Puerto. 3.- Se inicia la bsqueda del dispositivo utilizando el caso de uso Buscar Dispositivo. 4.- Se debe verificar el estatus de la misin utilizando el caso de uso Verificar Estatus de Misin y Finalizarla. 5.- Se programa la misin en el dispositivo Hygrochron utilizando el caso de uso Programar Dispositivo con Valores Predefinidos por el Usuari