Universidad de las Ciencias Informáticas Facultad 1
Título: Desarrollo de un motor de pruebas para el Sistema de Gestión de Pruebas Técnicas a vehículos del CID del Transporte de las FAR.
Trabajo de diploma para optar por el título de Ingeniero en Ciencias Informáticas
Autor(es): Katia Dolné Limonta.
Annelisse Santa Cruz Fortún.
Tutor(es): Tte. Ing. Enier Maceo Cisnero.
Co-Tutor: Ing.Yasser Manuel Garbey Bermudes.
Ciudad de La Habana, junio de 2010.
Año 52 de la Revolución.
Declaración de autoría
I
Declaración de Autoría.
Declaramos que somos las únicas autoras del trabajo Desarrollo de un motor de pruebas para el Sistema de Gestión de Pruebas Técnicas a Vehículos y reconocemos a la Universidad de las Ciencias Informáticas los derechos patrimoniales de la misma, con carácter exclusivo.
Para que así conste firmamos la presente a los ____ días del mes de ________ del año ________.
________________ ________________
Annelisse Santa Cruz Fortún. Katia Dolné Limonta.
_______________________ ___________________________
Tutor Enier Maceo Cisnero Co-tutor Yasser M. Garbey Gomes
Pensamiento
I
“El futuro de nuestra patria tiene que ser necesariamente un futuro de hombres de ciencia, tiene que ser un futuro de hombres de pensamiento...”
Fidel Castro
Datos del contacto
II
Datos del Contacto.
Tutor: Ing. Tte.: Enier Maceo Cisnero. Actualmente es el jefe del proyecto Sistemas de Dirección de las Transportaciones Militares de la Unidad de Compatibilización, Integración y Desarrollo de Productos Informáticos para la Defensa del país.
Co-tutor: Ing. Yasser Manuel Garbey Bermudes. Actualmente es analista del proyecto Gestión Hospitalaria.
Agradecimientos
III
Agradecimientos de Annelisse:
Agradezco a mis padres Odalys y Juan por ser el motor impulsor en mi vida, ya que sin ellos no hubiese podido llegar hasta aquí. Por haberme educado de la forma que lo hicieron y haberme guiado por el camino correcto. Gracias por estar siempre a mi lado en los buenos y malos momentos, por dejarme cometer mis propios errores y aconsejarme cuando lo he necesitado. Por anteponer mis problemas a los suyos, su amor incondicional y su paciencia durante todos estos años.
A mi abuela Georgina por ser mi segunda madre, por brindarme su sabiduría y por aconsejarme. Por enseñarme el lado positivo de la vida y por darme aliento cuando lo necesitaba.
A mi tío Roberto que se ha convertido en algo más que un tío, en mi segundo padre. Que supo a lo largo de los años educarme como a una hija más y estar a mi lado en cualquier circunstancia.
A mi novio Dauny por todo el amor que me ha dado, por toda la paciencia que ha tenido durante estos años de carrera y por acompañarme incondicionalmente en buenos y malos momentos; por sus consejos y por las fuerzas que me ha dado.
A mis tías Maggy, Miriam, Puchy y Norma por estar pendiente de mí y por la ayuda que me han brindado toda la vida.
A mis tutores Enier y Yasser por su paciencia y dedicación. Gracias por todos los conocimientos que adquirimos con ustedes, sin ustedes no podríamos haber llegado hasta aquí.
A mi compañera de tesis Katia por la comprensión y amistad que me ha brindado durante todos estos años. Por compartir buenos y malos momentos, por ser como una hermana y por darme la oportunidad de ser tu compañera de tesis.
A toda mi familia por estar siempre mi lado. A Luis por su preocupación. A todos por educarme desde el inicio y por compartir conmigo tantas cosas. A mis primos que son como mis hermanos Yury, Joyce, Sucy, Mayde, Mily y Yadir.
A mi suegra por ser como una madre para mí durante todo este tiempo, por su comprensión y dedicación hacia mí. Y por toda la ayuda que me ha brindado.
A mis padrinos Lourdes y Luis que siempre me han aconsejado en la vida y siempre me han brindado su ayuda incondicional.
A Simón y Fé y Oslaydis y Luis por ser como unos tíos y estar ahí para mí cuando los he necesitado. Por su preocupación y
comprensión durante la carrera.
Agradecimientos
IV
A mis amistades de la universidad porque con ellas viví grandes cosas. Con ustedes tengo grandes recuerdos de mi vida y con ustedes aprendí muchas cosas: Daylis y Regla (por ser mis confidentes), Yany, Liusmy, Yima, Yayi, Lissa, Yisy, Rikky, frikky, Yoa, Ingrid, Wendy, la rikky, Dacho, Suhail, las Yilian, Yai, Daylenis, Claritza, la Zuny, Yenisey(por acompañarme durante todos estos años), Anita, Yanisbel, Yuliet, Tito, Manu, Margarita, Abel, Isra y Rolando(por ayudarnos en la tesis), Rey, Rubén, Mario y a todos los que no he mencionado pero siempre recuerdo. A mis compañeros de apartamento que me han soportado durante todo el curso: Yuliet, Rosy, Yanelys, Yisell Vilma, Alexis y Mario.
A mis viejos amigos por su preocupación: Copa, Fajardo, Yankiel, Daynelis, Greyni, las Lisandras, Papito, Yailyn, Yanetsy, Osmany, Migdiell, Alejandro, Nordy, a mis hermanas Danae y Glenda por todo el aliento que me han dado. A Tamara, Teddy, Damián, Jaime, Víctor, Diego y Andrea porque a pesar de la distancia siempre se han preocupado por mí.
A los profesores que me han ayudado a mi formación profesional durante la carrera y a Mayelín por soportarme todo este tiempo.
Y un agradecimiento especial a nuestro Comandante en Jefe Fidel Castro Ruz por haberme permitido crecer en esta
Revolución y por ayudar a convertirme en la persona que soy hoy. Gracias, porque sin usted no hubiese podido graduarme de
la carrera que me gusta.
Agradecimientos
V
Agradecimientos de Katia:
En primer lugar agradecer a mis padres Manuela y Leonardo por hacer de mí la persona que soy, por siempre guiarme y apoyarme incondicionalmente, por los consejos dados y las preocupaciones desde niña, por confiar siempre en mí. A mis hermanos Adrian, Leonardo y Alexis por siempre estar pendientes de mí y brindarme su apoyo en todo momento. A mi sobrina Haila por existir y darme su amor a pesar de su poca edad. A mis abuelos Dulce y Gilberto porque a pesar de que no pudieron verme cumpliendo este sueño sé que estarían orgullosos de mí, que sepan dondequiera que estén que siempre los recuerdo con mucho cariño y los extraño. A mis cuñadas Udis e Indiana por siempre estar pendientes de mí y apoyarme en los buenos y malos momentos. A mi hermanita del alma Marluvis por siempre confiar en mí, darme apoyo y fuerzas para seguir cuando no las he tenido, por tantos momentos compartidos, buenos y malos, por tantos consejos y fuerzas.
A mi tía Caridad por ser como una madre para mí y brindarme su cariño y su apoyo siempre que lo he necesitado, gracias por ser tan especial conmigo y por todos los consejos dados siempre en los momentos oportunos, mi tío Orlando por ser como un padre conmigo. A mi prima Giselle y su esposo Julio por estar siempre pendientes de todo lo que sucedía a mí alrededor y apoyarme en todo. A mi primo Alexis por brindarme su apoyo, a mi primito Adrian por quererme como lo hace y siempre estar ahí.
A mi tía Velkis por ser tan especial conmigo y preocuparse tanto. A mis tíos Jorge, Georgina, Luisa, Paulina, Ramón, a mis primos Rafael, Yipsi, Niurvis, Vladimir, Yudith, Yeline, Yarelis, Richard, Eira, Ricardito, Luisito, Lázaro, a mi primo Alaín que aunque no está con nosotros estaría muy orgulloso de verme llegar hasta aquí. A mis tías Iraydis, Hilda, Francis que en paz descanse, Clara. A mis tíos Ruben, Cachito que en paz descanse, Lino. A mis primos Nayma, Adriel, Yordanis, Maritza, Martha, Cruzita, Carlos, Nataly, Yosiel, Guzmán, Nivaldo, Sandra, Isabella, Reinier, Dilcia, Tamara, Rolandito, Cheo. A mi abuela Lucrecia que aunque no esté se que estaría orgullosa de mí. A la compañera de mi papá Mireya. Al compañero y amigo de mi mamá Juan.
A Vicente por ser tan buen amigo y brindar su ayuda y apoyo en todo momento, por siempre confiar en que todo saldría bien,
Abel por siempre creer en mí y apoyar toda decisión tomada en todo momento, por brindarme su amor incondicional y
comprenderme siempre, por ser tan especial conmigo y siempre estar cuando más lo necesité. A los padres de Abel, María
Victoria y Ariel por siempre estar atentos y preocupados por todo, y su hermano Ariel. A Daylis por ser mi amiga siempre y
aún abarrotada de trabajo preocuparse por nuestro desempeño.
Agradecimientos
VI
A estas personas por siempre preocuparse por mí y brindarme su apoyo incondicional y desinteresado Ruby, Miriam, Felicitá, Blanca Elena, Regla la madre de Daylis, Angela, Margarita, Mercedes, a mi madrina Ereminda, Marco, Katherine, Pedroso, Mirtha.
A mis amigos eternos que siempre han estado pendientes de mi carrera y me han dado fuerzas cuando lo he necesitado Daylenis, Ruler, Claritza, Yoangel, Aramis, Anelis, Alexander, Dariel, Yoannia, Yoanglis, Niurkis, Osachis, Aime, Yaima, Yanisbel, Lissandra, Yuliet, Alexis, Arnoldo, Carlos, Wendy, Ingrid, Yisel, Mayte, Lurdiana, Zunamy, Yenisey, Maurice, Ricky, Isra, Yany, Mario, Blanquita, Lisset, Annia, Yarlenis, Pipi, Yunier, Noralis, Rafa, Zenia. A todas las locas del apartamento por soportarme tanto tiempo Yuliet, Rosy, Yisell Vilma, Yanelis, Alexis, Mario.
A todas aquellas personas que de una forma u otra me ayudaron en el desarrollo de la tesis, Rolando, Israel y Norges. A mis amigos de la kisomba que siempre me apoyaron en todo.
A nuestro tutor Enier por ser ante todo amigo y apoyarnos tanto, ayudarnos para que pudiéramos llegar hasta aquí, a nuestro cotutor Yasser por ser amigo y luchar todo este tiempo con nosotras.
A mi compañera de tesis , amiga y hermana Anne, por darme fuerzas cuando creíamos que no podíamos llegar al final, y ayudarme en todo lo que necesité, a su familia por portarse como si fuera la mía propia Vicky, Juan, Dauny, Norma, Simón, Luis, Regla, Daymiris, Jorge.
En fin agradecer a todas aquellas personas que ayudaron a cumplir nuestros sueños y siempre nos brindaron su apoyo.
Seguro se me quedaron algunos nombres, pero no por eso no son importantes para mí.
Dedicatoria
VII
Dedicatoria Katia:
Dedico mi tesis a mis padres Manuela y Leonardo, quienes me han forjado, brindado su apoyo incondicional y han sido mis principales guías en el camino de la vida.
Dedico también mi tesis a mis hermanos Adrian y Leonardo que siempre me han guiado por el camino correcto y apoyado en todo momento. A mi sobrina Haila.
A mis abuelos, Dulce, Gilberto, José y Lucrecia porque a pesar de no estar presentes me han cuidado y protegido, y sé que estarían orgullosos de mí.
A Fidel y a la Revolución cubana que me dio la posibilidad de ser la persona que soy, de permitirme estudiar y convertirme hoy en una profesional.
Dedicatoria
VIII
Dedicatoria de Annelisse:
A mis padres por ser tan especiales.
A mi abuela Georgina.
A mis abuelos Rigo, Pura y Cheo porque a pesar de que no pudieron verme graduada jugaron un papel muy importante en mi vida, gracias a ustedes tomé muchas decisiones y sé que estarían orgullosos de mí.
A Fidel y a la Revolución.
Resumen
IX
Resumen.
La Industria Militar Cubana es el grupo de empresas encargadas de la producción y modernización de los vehículos de las Fuerzas Armadas Revolucionarias. Para corroborar que los vehículos pueden ser explotados bajo las condiciones ambientales de Cuba, el Centro de Investigación y Desarrollo del Transporte les realiza una serie de pruebas. Con el empleo de nuevas tecnologías se logrará que se reduzca el tiempo de realización de las pruebas, y la disminución del uso del papel, lo que traerá consigo una mejor organización y una mejor gestión de la información.
El contenido de esta investigación se encamina a mejorar el proceso de pruebas técnicas a vehículos del CID del Transporte a través del desarrollo de un motor de pruebas para el Sistema de Gestión de Pruebas Técnicas a vehículos del CID del Transporte de las FAR.
En este trabajo se refleja la descripción de la investigación que se llevó a cabo para darle solución al problema planteado, el estado del arte, las herramientas que se utilizarán y las características del sistema.
Así como lo referente al desarrollo del sistema los artefactos que se generaron, su implementación y las pruebas que se realizan para comprobar la eficacia del sistema.
Con este trabajo se pretende dar un primer paso al desarrollo informático del proceso de pruebas del CID del Transporte de las FAR.
Palabras claves: CID del Transporte Motor de pruebas
Índice
X
Índice
Introducción. ... 1
Capítulo 1 Fundamentación teórica de la investigación científica. ... 4
Introducción. ... 4
Necesidades del Sistema. ... 4
Conceptos Asociados. ... 5
Según la definición de la Real Academia probar es: ... ……….5
Según el Centro de Investigación y Desarrollo (CID): ... 5
Según el Diccionario de la Lengua Española prueba es:... 6
Soluciones existentes. ... 6
Centros de investigaciones vinculados al campo de acción. ... 6
Nivel internacional. ... 6
Nivel Nacional. ... 8
Asistentes Matemáticos. ... 8
MATLAB. ... 9
ABAQUS. ... 9
DERIVE. ... 10
Análisis de las soluciones existentes. ... 10
Tecnologías utilizadas. ... 11
Patrones. ... 11
Patrón Modelo-Vista-Controlador (MVC). ... 11
Patrón ORM (Mapeo Objeto-Relacional). ... 12
Sistema Gestor de Base de Datos PostgreSQL 8.3. ... 12
Marco de Trabajo SAUXE. ... 13
Zend Framework. ... 14
Doctrine. ... 14
ExtJS……….. ... 15
Índice
XI
Lenguaje de programación utilizado PHP 5.0. ... 15
JavaScript. ... 17
Servidor web Apache 2.0.... 17
Herramientas utilizadas. ... 18
Visual Paradigm. ... 18
Easy Eclipse. ... 18
Proceso y lenguaje de modelado que se utilizaron. ... 19
Proceso de Gestión y Desarrollo. ... 19
Lenguaje Unificado de Modelado (UML). ... 19
Conclusiones. ... 20
Capítulo 2 Características del Sistema... 21
Introducción. ... 21
Objeto de estudio. ... 21
Descripción general. ... 21
Situación problemática. ... 22
Propuesta solución. ... 23
Modelo del Dominio. ... 24
Diagrama de clases del Modelo de Dominio. ... 24
Definición de las clases del Modelo del Dominio. ... 25
Modelo de Prueba. ... 25
Variable.... 26
Modelo matemático. ... 26
Tipo de variable.... 26
Descripción de los actores. ... 26
Especificación de los requerimientos. ... 27
Requisitos No Funcionales. ... 27
Requisitos Funcionales. ... 30
Descripción de los requisitos funcionales. ... 34
Conclusiones. ... 34
Índice
XII
Capítulo 3 Diseño del Sistema. ... 35
Introducción. ... 35
Diseño. ... 35
Diagrama de clases del diseño. ... 35
Descripción de las clases del diseño. ... 37
Descripción de la clase del diseño GestModelosPrueba. ... 37
Descripción de la clase del diseño GestmodelopruebaController. ... 38
Descripción de la clase del diseño GestmodelopruebaModel. ... 39
Descripción de la clase del diseño DatModeloPrueba. ... 39
Descripción de la clase del diseño DatVariable. ... 40
Diagrama de Secuencias. ... 40
Base de Datos. ... 41
Descripción de las tablas de la Base de Datos. ... 42
Conclusiones. ... 44
Capítulo 4 Implementación y Pruebas. ... 45
Introducción. ... 45
Diagrama de Componentes. ... 45
Matriz de Integración de Componentes. ... 47
Matriz de integración de componentes externa. ... 47
Modelo de Pruebas. ... 47
Descripción de los diseños de casos de pruebas. ... 47
Descripción de los métodos de pruebas empleados. ... 48
Resultado de las pruebas realizadas al sistema. ... 49
Conclusiones. ... 49
Conclusiones generales. ... 50
Recomendaciones. ... 51
Bibliografía. ... 52
Referencias Bibliográficas. ... 55
Glosario de Términos. ... 57
Índice
XIII
Abreviaturas. ... 58 Anexos. ...¡Error! Marcador no definido.
Figuras
XIV
Figuras
Figura 1. Vista aérea del área de Pruebas MUNSON. Centro de pruebas de las Fuerzas Armadas de
Estados Unidos (ABERDEEN). ... 7
Figura 2. Diagrama de clases del Modelo de Dominio. ... 25
Figura 3. Prototipo de UI “Gestionar modelos de prueba”. ... 30
Figura 4. Prototipo UI “Ejecutar modelo de prueba”. ... 32
Figura 5. Diagrama de clases del diseño “Gestionar modelo de pruebas”. ... 36
Figura 6. Diagrama de clases del diseño “Ejecutar modelo de prueba”. ....¡Error! Marcador no definido. Figura 7. Diagrama de Secuencia “Gestionar modelo de pruebas”. ... 41
Figura 8. Diseño de la Base de Datos. ... 42
Figura 9. Diagrama de Componentes de “Gestionar modelo de prueba”. ... 46 Figura 10. Diagrama de Componentes de “Ejecutar modelo de prueba”. ..¡Error! Marcador no definido.
Figura 11. Diagrama de Secuencia “Gestionar Modelo de Pruebas”-Escenario: Nuevo Modelo de Pruebas. ...¡Error! Marcador no definido.
Figura 12. Diagrama de Secuencia “Gestionar Modelo de Pruebas”-Escenario: Modificar Modelo de Pruebas. ...¡Error! Marcador no definido.
Figura 13. Prototipo de IU “Nuevo modelo de prueba”. ...¡Error! Marcador no definido.
Figura 14. Prototipo de IU “Adicionar variable”. ...¡Error! Marcador no definido.
Figura 15. Prototipo de IU “Modificar variable”. ...¡Error! Marcador no definido.
Figura 16. Prototipo de IU “Modificar modelo de prueba”. ...¡Error! Marcador no definido.
Figura 17. Prototipo de IU “Eliminar modelo de prueba”. ...¡Error! Marcador no definido.
Figura 18. Prototipo UI “Registrar medición”. ...¡Error! Marcador no definido.
Figura 19. Prototipo UI “Resultados de la prueba”. ...¡Error! Marcador no definido.
Tablas
XV
Tablas
Introducción. ... 1
Capítulo 1 Fundamentación teórica de la investigación científica. ... 4
1.1 Introducción. ... 4
1.2. Necesidades del Sistema. ... 4
1.3. Conceptos Asociados. ... 5
1.3.1. Según la definición de la Real Academia probar es: ... 5
1.3.2. Según el Centro de Investigación y Desarrollo (CID): ... 5
1.3.3. Según el Diccionario de la Lengua Española prueba es: ... 6
1.4. Soluciones existentes. ... 6
1.4.1. Centros de investigaciones vinculados al campo de acción. ... 6
1.4.1.1. Nivel internacional. ... 6
Figura 1. Vista aérea del área de Pruebas MUNSON. Centro de pruebas de las Fuerzas Armadas de Estados Unidos (ABERDEEN). ... 7
1.4.1.2. Nivel Nacional. ... 8
1.4.2. Asistentes Matemáticos. ... 8
1.4.2.1. MATLAB. ... 9
1.4.2.2. ABAQUS... 9
1.4.2.3. DERIVE. ... 10
1.5. Análisis de las soluciones existentes. ... 10
1.6. Tecnologías utilizadas. ... 11
1.6.1. Patrones. ... 11
1.6.1.1. Patrón Modelo-Vista-Controlador (MVC). ... 11
1.6.1.2. Patrón ORM (Mapeo Objeto-Relacional). ... 12
1.6.2. Sistema Gestor de Base de Datos PostgreSQL 8.3. ... 12
1.6.3. Marco de Trabajo SAUXE. ... 13
1.6.3.1. Zend Framework. ... 14
1.6.3.2. Doctrine. ... 14
Tablas
XVI
1.6.3.3. Ext JS. ... 15
1.6.4. Lenguaje de programación utilizado PHP 5.0. ... 15
1.6.5. JavaScript. ... 17
1.6.6. Servidor web Apache 2.0... 17
1.6.7. Herramientas utilizadas... 18
1.6.7.1. Visual Paradigm. ... 18
1.6.7.2. Easy Eclipse. ... 18
1.7. Proceso y lenguaje de modelado que se utilizaron. ... 19
1.7.1. Proceso de Gestión y Desarrollo. ... 19
1.7.2. Lenguaje Unificado de Modelado (UML). ... 19
1.8. Conclusiones. ... 20
Capítulo 2 Características del Sistema... 21
2.1. Introducción. ... 21
2.2. Objeto de estudio. ... 21
2.2.1 Descripción general. ... 21
1.2.2. Situación problemática. ... 22
1.2.3. Propuesta solución. ... 23
1.3. Modelo del Dominio. ... 24
1.4. Diagrama de clases del Modelo de Dominio. ... 24
Figura 2. Diagrama de clases del Modelo de Dominio. ... 25
2.5. Definición de las clases del Modelo del Dominio. ... 25
2.5.1. Modelo de Prueba. ... 25
2.5.2. Variable. ... 26
2.5.3. Modelo matemático. ... 26
2.5.4. Tipo de variable. ... 26
2.6. Descripción de los actores. ... 26
Tabla 1. Descripción de los actores del Sistema. ... 26
2.7. Especificación de los requerimientos. ... 27
2.7.1. Requisitos No Funcionales. ... 27
Tablas
XVII
2.7.2. Requisitos Funcionales. ... 30
Figura 3. Prototipo de UI “Gestionar modelos de prueba”. ... 30
Tabla 2. Especificación de requisitos de software “Gestionar modelos de prueba”. ... 31
Figura 4. Prototipo UI “Ejecutar modelo de prueba”. ... 32
Tabla 6. Especificación de requisitos de software “Ejecutar modelos de prueba”. ... 34
2.7.2.1. Descripción de los requisitos funcionales. ... 34
2.8. Conclusiones. ... 34
Capítulo 3 Diseño del Sistema. ... 35
3.1. Introducción. ... 35
3.2. Diseño. ... 35
3.2.1. Diagrama de clases del diseño. ... 35
Figura 5. Diagrama de clases del diseño “Gestionar modelo de pruebas”. ... 36
3.2.2. Descripción de las clases del diseño. ... 37
3.2.2.1. Descripción de la clase del diseño GestModelosPrueba... 37
Tabla 7. Descripción de la clase del diseño “GestModeloPrueba”. ... 37
3.2.2.2. Descripción de la clase del diseño GestmodelopruebaController. ... 38
Tabla 8. Descripción de la clase del diseño "GestmodelopruebaController"... 38
3.2.2.3. Descripción de la clase del diseño GestmodelopruebaModel. ... 39
Tabla 9. Descripción de la clase del diseño "GestmodelopruebaModel". ... 39
3.2.2.4. Descripción de la clase del diseño DatModeloPrueba. ... 39
Tabla 10. Descripción de la clase del diseño "DatModeloPrueba". ... 40
3.2.2.5. Descripción de la clase del diseño DatVariable. ... 40
Tabla 11. Descripción de la clase del diseño "DatVariable". ... 40
3.2.3. Diagrama de Secuencias. ... 40
Figura 7. Diagrama de Secuencia “Gestionar modelo de pruebas”. ... 41
3.3. Base de Datos. ... 41
Figura 8. Diseño de la Base de Datos. ... 42
3.4. Descripción de las tablas de la Base de Datos. ... 42
Tabla17. Descripción de la tabla "dat_modeloprueba". ... 43
Tablas
XVIII
Tabla18. Descripción de la tabla "dat_variable". ... 43
Tabla19. Descripción de la tabla "dat_modelomatematico". ... 43
Tabla20. Descripción de la tabla "nom_tipovariable". ... 44
3.5. Conclusiones. ... 44
Capítulo 4 Implementación y Pruebas. ... 45
4.1. Introducción. ... 45
4.2. Diagrama de Componentes. ... 45
Figura 9. Diagrama de Componentes de “Gestionar modelo de prueba”. ... 46
4.3. Matriz de Integración de Componentes. ... 47
4.3.1. Matriz de integración de componentes externa. ... 47
Tabla21. Matriz de integración de componentes externa... 47
4.4. Modelo de Pruebas. ... 47
4.4.1. Descripción de los diseños de casos de pruebas. ... 47
Tabla22. Descripción del caso de prueba “Gestionar modelo de prueba”. ... 47
Tabla23. Descripción del escenario “Crear modelo de prueba”... 48
4.5. Descripción de los métodos de pruebas empleados. ... 48
4.6. Resultado de las pruebas realizadas al sistema. ... 49
4.7. Conclusiones. ... 49
Conclusiones generales. ... 50
Recomendaciones. ... 51
Bibliografía. ... 52
Referencias Bibliográficas. ... 55
Glosario de Términos. ... 57
Abreviaturas. ... 58
Introducción. ... 1
Capítulo 1 Fundamentación teórica de la investigación científica. ... 4
1.1 Introducción. ... 4
Tablas
XIX
1.2. Necesidades del Sistema. ... 4
1.3. Conceptos Asociados. ... 5
1.3.1. Según la definición de la Real Academia probar es: ... 5
1.3.2. Según el Centro de Investigación y Desarrollo (CID): ... 5
1.3.3. Según el Diccionario de la Lengua Española prueba es: ... 6
1.4. Soluciones existentes. ... 6
1.4.1. Centros de investigaciones vinculados al campo de acción. ... 6
1.4.1.1. Nivel internacional. ... 6
Figura 1. Vista aérea del área de Pruebas MUNSON. Centro de pruebas de las Fuerzas Armadas de Estados Unidos (ABERDEEN). ... 7
1.4.1.2. Nivel Nacional. ... 8
1.4.2. Asistentes Matemáticos. ... 8
1.4.2.1. MATLAB. ... 9
1.4.2.2. ABAQUS... 9
1.4.2.3. DERIVE. ... 10
1.5. Análisis de las soluciones existentes. ... 10
1.6. Tecnologías utilizadas. ... 11
1.6.1. Patrones. ... 11
1.6.1.1. Patrón Modelo-Vista-Controlador (MVC). ... 11
1.6.1.2. Patrón ORM (Mapeo Objeto-Relacional). ... 12
1.6.2. Sistema Gestor de Base de Datos PostgreSQL 8.3. ... 12
1.6.3. Marco de Trabajo SAUXE. ... 13
1.6.3.1. Zend Framework. ... 14
1.6.3.2. Doctrine. ... 14
1.6.3.3. Ext JS. ... 15
1.6.4. Lenguaje de programación utilizado PHP 5.0. ... 15
1.6.5. JavaScript. ... 17
1.6.6. Servidor web Apache 2.0... 17
1.6.7. Herramientas utilizadas... 18
1.6.7.1. Visual Paradigm. ... 18
Tablas
XX 1.6.7.2. Easy Eclipse. ... 18
1.7. Proceso y lenguaje de modelado que se utilizaron. ... 19
1.7.1. Proceso de Gestión y Desarrollo. ... 19 1.7.2. Lenguaje Unificado de Modelado (UML). ... 19
1.8. Conclusiones. ... 20
Capítulo 2 Características del Sistema... 212.1. Introducción. ... 21 2.2. Objeto de estudio. ... 21
2.2.1 Descripción general. ... 21 1.2.2. Situación problemática. ... 22 1.2.3. Propuesta solución. ... 23
1.3. Modelo del Dominio. ... 24 1.4. Diagrama de clases del Modelo de Dominio. ... 24
Figura 2. Diagrama de clases del Modelo de Dominio. ... 252.5. Definición de las clases del Modelo del Dominio. ... 25
2.5.1. Modelo de Prueba. ... 25 2.5.2. Variable. ... 26 2.5.3. Modelo matemático. ... 26 2.5.4. Tipo de variable. ... 26
2.6. Descripción de los actores. ... 26
Tabla 1. Descripción de los actores del Sistema. ... 262.7. Especificación de los requerimientos. ... 27
2.7.1. Requisitos No Funcionales. ... 27 2.7.2. Requisitos Funcionales. ... 30 Figura 3. Prototipo de UI “Gestionar modelos de prueba”. ... 30 Tabla 2. Especificación de requisitos de software “Gestionar modelos de prueba”. ... 31 Figura 4. Prototipo UI “Ejecutar modelo de prueba”. ... 32 Tabla 6. Especificación de requisitos de software “Ejecutar modelos de prueba”. ... 34 2.7.2.1. Descripción de los requisitos funcionales. ... 34
Tablas
XXI
2.8. Conclusiones. ... 34
Capítulo 3 Diseño del Sistema. ... 353.1. Introducción. ... 35 3.2. Diseño. ... 35
3.2.1. Diagrama de clases del diseño. ... 35 Figura 5. Diagrama de clases del diseño “Gestionar modelo de pruebas”. ... 36 3.2.2. Descripción de las clases del diseño. ... 37 3.2.2.1. Descripción de la clase del diseño GestModelosPrueba... 37 Tabla 7. Descripción de la clase del diseño “GestModeloPrueba”. ... 37 3.2.2.2. Descripción de la clase del diseño GestmodelopruebaController. ... 38 Tabla 8. Descripción de la clase del diseño "GestmodelopruebaController"... 38 3.2.2.3. Descripción de la clase del diseño GestmodelopruebaModel. ... 39 Tabla 9. Descripción de la clase del diseño "GestmodelopruebaModel". ... 39 3.2.2.4. Descripción de la clase del diseño DatModeloPrueba. ... 39 Tabla 10. Descripción de la clase del diseño "DatModeloPrueba". ... 40 3.2.2.5. Descripción de la clase del diseño DatVariable. ... 40 Tabla 11. Descripción de la clase del diseño "DatVariable". ... 40 3.2.3. Diagrama de Secuencias. ... 40 Figura 7. Diagrama de Secuencia “Gestionar modelo de pruebas”. ... 41
3.3. Base de Datos. ... 41
Figura 8. Diseño de la Base de Datos. ... 423.4. Descripción de las tablas de la Base de Datos. ... 42
Tabla17. Descripción de la tabla "dat_modeloprueba". ... 43 Tabla18. Descripción de la tabla "dat_variable". ... 43 Tabla19. Descripción de la tabla "dat_modelomatematico". ... 43 Tabla20. Descripción de la tabla "nom_tipovariable". ... 443.5. Conclusiones. ... 44
Capítulo 4 Implementación y Pruebas. ... 454.1. Introducción. ... 45
Tablas
XXII
4.2. Diagrama de Componentes. ... 45
Figura 9. Diagrama de Componentes de “Gestionar modelo de prueba”. ... 464.3. Matriz de Integración de Componentes. ... 47
4.3.1. Matriz de integración de componentes externa. ... 47 Tabla21. Matriz de integración de componentes externa... 47
4.4. Modelo de Pruebas. ... 47
4.4.1. Descripción de los diseños de casos de pruebas. ... 47 Tabla22. Descripción del caso de prueba “Gestionar modelo de prueba”. ... 47 Tabla23. Descripción del escenario “Crear modelo de prueba”... 48
4.5. Descripción de los métodos de pruebas empleados. ... 48
4.6. Resultado de las pruebas realizadas al sistema. ... 49
4.7. Conclusiones. ... 49
Conclusiones generales. ... 50 Recomendaciones. ... 51 Bibliografía. ... 52 Referencias Bibliográficas. ... 55 Glosario de Términos. ... 57 Abreviaturas. ... 58Introducción
Introducción.
Con el paso de los años la Industria Automotriz ha sufrido cambios favorables en su desarrollo, Cuba no se ha visto exenta a estos cambios, y en específico la Industria Militar Cubana. La Unión de la Industria Militar Cubana (UIM) es el grupo de empresas que se encargan de la producción y modernización de los vehículos para las FAR. Debido a los fuertes regímenes de explotación a los que se encuentran expuestos estos medios de transporte, se hace necesaria la realización de pruebas a estos productos, que muestren hasta que punto pueden ser explotados. El objetivo principal de estas pruebas consiste en verificar la adaptabilidad de los medios a las condiciones del país.
Las Fuerzas Armadas Revolucionarias (FAR), dispone del Centro de Investigación y Desarrollo del Transporte (CID DCM TRANS). Entidad encargada entre otras actividades a probar los nuevos prototipos desarrollados por la UIM y los medios que sean de importación. Este Centro dispone de personal altamente capacitado para la ejecución de las actividades de pruebas, sin embargo, en la actualidad no se realizan todos los tipos de pruebas que desean ejecutar.
El desarrollo de las pruebas se produce siguiendo un proceso el cual consiste de forma general en la recepción del medio, preparación del medio para las pruebas, instalación de los instrumentos de medición y ejecución del programa de pruebas previsto. Como resultado de este proceso se obtienen una serie de datos que describen las características del vehículo así como su idoneidad para las condiciones del país.
En la Unidad de Compatibilización, Integración y Desarrollo de Software para la Defensa (UCID), se llevó a cabo una investigación con la finalidad de definir una propuesta arquitectónica para el desarrollo de una solución, capaz de informatizar el proceso de pruebas y mejorar la gestión de información del mencionado proceso.
En la actualidad se está ejecutando la implementación de la propuesta arquitectónica, sin embargo durante el desarrollo de la misma se detectó que el diseño no contemplaba los elementos necesarios para que el sistema permitiera probar cualquier tipo de vehículo. Debido a que la propuesta arquitectónica del Sistema de Gestión de Pruebas Técnicas a Vehículos no es flexible ante los diferentes tipos de medios a probar, se decide llevar a cabo la presente investigación. Durante el desarrollo del trabajo se realizará un estudio exhaustivo del proceso de pruebas técnicas a vehículos del CID DCM TRANS, dirigiendo mayor atención a las pruebas técnicas a vehículos del CID DCM TRANS.
Introducción
2
La finalidad de esta tesis de grado consiste en desarrollar un motor de pruebas para el Sistema de Gestión de Pruebas Técnicas a Vehículos, para así dotar a la propuesta arquitectónica de la flexibilidad necesaria para probar cualquier tipo de medio de transporte.
El desarrollo de la solución propuesta permitirá que el Sistema de Gestión de Pruebas Técnicas a Vehículos sea flexible ante los diferentes tipos de medios que se deseen probar. Se trazaron una serie de estrategias con el fin de darle cumplimiento al objetivo planteado anteriormente, trayendo consigo una lista de actividades de la investigación:
Investigación sobre la existencia de posibles asistentes matemáticos
Descripción de las metodologías, tecnologías y herramientas a utilizar en la realización de la propuesta solución.
Definición de los requerimientos para la implementación de un motor de pruebas dinámico
Realización del análisis y diseño de la propuesta solución.
Implementación de la propuesta solución.
Realización de pruebas a la propuesta solución.
Implantación de la propuesta solución al Sistema de Gestión de Pruebas Técnicas a Vehículos.
Como métodos teóricos empleados en este trabajo se encuentra el histórico-lógico con el fin de investigar las características actuales en lo que concierne a asistentes matemáticos y compiladores profundizando en los conceptos, términos y vocabularios propios del objeto de estudio y el campo de acción. Igualmente el inductivo-deductivo facilita el análisis de los elementos generales como asistentes matemáticos a elementos más específicos como compiladores. Asimismo se utilizó el analítico-sintético permite extraer lo esencial de la bibliografía consultada en lo referente a los asistentes matemáticos y compiladores.
Durante la investigación se utilizaron diversos métodos empíricos para lograr la culminación de la misma como fueron las entrevistas formal e informal a los diferentes especialistas que intervienen en el proceso de prueba; las cuales permitieron tener una idea bastante acertada de los procesos que se van a evaluar para la posible implementación del motor de pruebas. Así como la observación que permite saber cuales son los procesos reales que se desarrollan en el Centro de Investigación y Desarrollo (CID DCM
Introducción
3
TRANS). Se le dio cumplimiento a lo antes expuesto visitando el Centro de Investigación y Desarrollo y la Unidad Militar 1950.
El contenido de este trabajo se verá reflejado en diferentes capítulos de los que se dará una breve descripción a continuación:
Capítulo 1. Fundamentación teórica de la investigación científica: en este capítulo se hará una fundamentación teórica de la investigación científica llevada a cabo para la realización del trabajo de diploma.
Capítulo 2. Características del sistema: en este capítulo se hablará acerca de las características del sistema, así como los procesos del negocio.
Capítulo 3. Diseño del sistema: en este capítulo se describirá la fase correspondiente al diseño del sistema, incluyendo los diagramas correspondientes.
Capítulo 4. Implementación del sistema y prueba: en este capítulo se llevará a cabo la implementación del motor de pruebas y capítulo se llevará a cabo el proceso de pruebas al sistema y el proceso de integración del motor de pruebas al Sistema de Gestión de Pruebas Técnicas del CID de las FAR.
Capítulo 1 Fundamentación Teórica
Capítulo 1 Fundamentación teórica de la investigación científica.
1.1 Introducción.
Para la correcta introducción de los vehículos de transporte en las Fuerzas Armadas Revolucionarias (FAR), ya sean estos de producción nacional como de importación, primero deben ser examinados por el Centro de Investigación y Desarrollo (CID DCM TRANS). Esta institución tiene entre sus actividades realizar las pruebas para corroborar el correcto funcionamiento de estos productos y en caso de no hacerlo poder informar y buscar soluciones para ello.
Una descripción minuciosa de los orígenes de esta investigación será el contenido de este capítulo.
Donde se recogerán además de las herramientas y las tecnologías que se utilizan tanto a nivel nacional como internacional para resolver problemas similares a este, cuales fueron las seleccionadas para darle solución a nuestra investigación. También están comprendidos en este capítulo los principales conceptos que se relacionan con el desarrollo del sistema: Desarrollo de un motor de pruebas para el Sistema de Gestión de Pruebas Técnicas A vehículos del CID del Transporte de las FAR. Y se exhibirá el estudio del estado del arte, donde se encontrará información referente a otras aplicaciones con semejanzas al sistema que se va a implementar.
1.2. Necesidades del Sistema.
El Centro de Investigación y Desarrollo del Transporte de las FAR para la alta demanda de pruebas que realiza a los diferentes vehículos necesita un sistema que sea capaz de ofrecer tanto agilidad y rapidez en recepción como seguridad, control y fiabilidad; pues necesita la información que se utiliza en las mismas en el menor tiempo posible para un mejor flujo de las actividades que efectúan en torno a las mismas.
Estos procesos en la actualidad se desarrollan de forma manual lo que trae como consecuencia que los resultados de los experimentos desarrollados no puedan ser observados hasta finalizar los mismos.
Además, la recopilación de estos es a través de la herramienta informática Excel, la cual no permite que varios investigadores trabajen en los datos guardados en ella simultáneamente, alcanzando como resultado que para trabajar con ellos los trabajadores deben hacerlo en diferentes copias de estos archivos guardando así una copia del mismo individualmente, lo antes expuesto deriva grandes problemas con la actualización de los datos y un gran volumen de datos.
Capítulo 1 Fundamentación Teórica
5
Los informes que se crean con los resultados finales de las pruebas se guardan en papel, que es un material muy costoso. Estos informes no tienen uniformidad y se guardan en cajas desde que se iniciaron estos experimentos en el Centro de Investigación y Desarrollo del Transporte de las FAR, provocando que se haga engorroso el trabajo con los mismos y el empleo de tiempo innecesario en la búsqueda de los mismos e intercambio de información entre el personal del centro.
Es por ello que los sistemas y programas utilizados para el desarrollo de las pruebas no se correspondan con lo que se necesita para procesar la información necesaria de las pruebas.
1.3. Conceptos Asociados.
A continuación se abordarán algunos conceptos de importancia para un mejor entendimiento del problema:
1.3.1. Según la definición de la Real Academia probar es:
- Experimentar las cualidades de personas, animales o cosas.
-Poner a prueba el funcionamiento de un mecanismo.
-Manifestar o hacer patente la certeza de un hecho o la verdad de una cosa.
1.3.2. Según el Centro de Investigación y Desarrollo (CID):
“Probar, no significa realizar una serie de exámenes durante el proceso de adquisición y asimilación, sino una continua recolección y análisis de la información desde su inicio y a lo largo del ciclo de vida del vehículo. La principal función del proceso de pruebas es comenzar a confeccionar el banco de datos del ciclo de vida, verificando el funcionamiento apropiado de la instrumentación, recolectando y analizando los datos del vehículo y desarrollando una comprensión completa sobre el mismo.”1
1 Programa de Pruebas. Manuel Ollet Nerey. La Habana. 2008.Pág.3
Capítulo 1 Fundamentación Teórica
6
1.3.3. Según el Diccionario de la Lengua Española prueba es:
-Examen o experimentación para comprobar el buen funcionamiento de alguna cosa o su adecuación a un determinado fin.
- Demostración de la verdad de alguna cosa o de su existencia.
- Razón o argumento con que se demuestra la verdad o falsedad de una cosa.
1.4. Soluciones existentes.
A continuación se muestran una serie de sistemas que de una forma u otra brindan información de los procesos de pruebas a automóviles militares, y otros sistemas de cálculos matemáticos que brindan información sobre algunos análisis matemáticos que se necesitan para el desarrollo del motor de pruebas.
1.4.1. Centros de investigaciones vinculados al campo de acción.
1.4.1.1. Nivel internacional.
En el ámbito internacional varios centros de investigaciones se dedican a la realización de pruebas al parque automotor exclusivamente, estos son:
I. Centro de Pruebas en Lommel Europa.
II. Centro de Seguridad Volvo.
III. Centro de Investigaciones del polígono de Aberdeen de Estados Unidos de América.
En el mundo actual de hoy, una de las potencias más grandes que destina todos los años gran cantidad de presupuesto económico para el desarrollo de la carrera armamentista, es los Estados Unidos de América.
Además de ser un país que tiene como principal objetivo el desarrollo de todo tipo de tecnología, ya sea a través de avances científicos, desarrollo en la rama de la informática, equipos electrónicos y otros, colocándose dentro de uno de las naciones más desarrolladas. Estos avances permiten que este se encuentre a la vanguardia en la producción de armas y pertrechos militares, siendo para otras potencias
Capítulo 1 Fundamentación Teórica
7
una muestra de avance. Por esto, una de las tareas de nuestras fuerzas armadas es estudiar el armamento norteamericano, buscando la manera de analizar las estrategias aplicadas por ellos, para nosotros poder crear, adaptar y ampliar nuestras defensas teniendo en cuenta el desarrollo que existe en Cuba en estos momentos, por eso se decide escoger el Centro de Investigaciones del Polígono de Aberdeen de los Estados Unidos de América para el estudio del arte.
Uno de los procedimientos que han sido fundamentales en el éxito de la producción de armamento han sido las pruebas finales que se les realizan a cada nueva arma. Para el desarrollo de estas pruebas se crea en 1940 el Centro de Pruebas del Polígono de ABERDEN dirigido por el comando de desarrollo de pruebas. Para el desarrollo de las pruebas de manera eficiente se auxilian de dos programas informáticos que le ayudan a tener una mejor visión de su posible resultado como son el SARD (ADACS) y el SIOPFA (ATIRS).
Figura 1. Vista aérea del área de Pruebas MUNSON. Centro de pruebas de las Fuerzas Armadas de Estados Unidos (ABERDEEN).
El Sistema de Informes de las Ocurrencias de Pruebas (SIOPFA) es un sistema de base de datos distribuido, que conecta a todo el Comando de Pruebas y Evaluación a las computadoras del Centro de Pruebas del SARD. Esto proporciona que los datos de las ocurrencias de las Pruebas de Desarrollo y las Pruebas Operacionales estén preparados, detenidos, o ejecutándose.
Capítulo 1 Fundamentación Teórica
8
El SARD es un sistema de información integrado creado con el objetivo de conducir, grabar y analizar los datos de la mejor manera posible de las pruebas de fiabilidad, disponibilidad, mantenimiento, las prestaciones, el registro de fuego, la vulnerabilidad del blindaje entre otras cosas lo cual fundamenta. Sus datos se manejan de forma electrónica, se distribuyen a través del correo electrónico o Fax, se organizan por proyectos y se guardan en una base de datos permitiendo su disponibilidad para un futuro y generando como resultado final un informe de ocurrencias del proceso de pruebas concluido. Es capaz de gestionar a los usuarios permitiéndoles acceso a diferentes interfaces según el nivel de autorización que tengan, también administra de manera eficiente el sistema de base de datos (SIOPFA), realizando salvas diarias para minimizar los daños que puedan ocurrir en un futuro.
1.4.1.2. Nivel Nacional.
En el ámbito nacional todavía no existe un sistema de registro de pruebas. Los únicos centros que se encargan de este proceso son el Instituto Nacional del Transporte quien desarrolla un poco este proceso y el Centro de Investigación y Desarrollo del Transporte de las FAR; este último es el encargado de los exámenes que se le aplican a todos los vehículos del MITRANS y a los carros blindados de las FAR y al cual va dirigido este software.
En la Universidad de las Ciencias Informáticas no existe un sistema de registro de pruebas.
1.4.2. Asistentes Matemáticos.
¿Qué es un asistente matemático?
Los asistentes matemáticos son programas para computador diseñados con intencionalidad pedagógica, dicha intencionalidad se asume en el sentido en que permiten el trabajo con: el cálculo numérico y simbólico, la dinamización de la geometría, la gestión de datos, el análisis gráfico de funciones, etc. Entre los más usados están: Derive 6.1, Cabry II Plus, Cabry 3D, TI-Nspire, TI-Navigator y otros. 2
2 Los asistentes matemáticos una estrategia mediadora en la construcción de conceptos. Prof. José Luis Orozco Trochez. Bogotá.
2009. Pág. 4
Capítulo 1 Fundamentación Teórica
9
1.4.2.1. MATLAB.
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M).
Está disponible para las plataformas Unix, Windows y Apple Mac OS X.
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.
MATLAB es un programa de cálculo numérico orientado a matrices. Por tanto, será más eficiente si se diseñan los algoritmos en términos de matrices y vectores.
1.4.2.2. ABAQUS.
ABAQUS es un programa de cálculo por elementos finitos de propósito general realizado por la empresa Hibbit, Karlsson & Srensen, Inc. La habitación del producto de Abaqus consiste en tres productos de la base: Abaqus/estándar, Abaqus/explícito y Abaqus/CAE. Abaqus/el estándar es solver de uso general que usa un esquema implícito tradicional de la integración para solucionar análisis finitos del elemento.
Abaqus/esquema explícito de la integración de las aplicaciones explícitas para solucionar análisis dinámicos y quasiestáticos transitorios altamente no lineales. Abaqus/CAE proporciona un ambiente integrado el modelar (proceso previo) y de la visualización (postprocessing) para los productos del análisis. Los productos de Abaqus utilizan abrir-fuente lengua scripting Python para scripting y el arreglo para requisitos particulares. Abaqus/CAE utiliza zorro-caja de herramientas para el desarrollo del GUI.
Capítulo 1 Fundamentación Teórica
10
Abaqus se utiliza en las industrias del producto automotor, aeroespacial, e industrial. El producto es popular entre las instituciones académicas y de investigación debido al material ancho que modela capacidad, y la capacidad del programa de ser modificado para requisitos particulares.
Abaqus fue diseñado inicialmente para tratar comportamiento físico no linear; consecuentemente, el paquete tiene una gama extensa de modelos materiales. Su elastomeric (rubberlike) las capacidades materiales son particularmente significativas.
El deletreo para ABAQUS deriva de la palabra griega, aba-kala-culus, significando absolver de la memoria. Abaqus fue deletreado originalmente con mayúsculas; sin embargo después de un rebranding de la compañía y de la introducción de la marca de fábrica de SIMULIA, Abaqus ahora está en letras minúsculas, con una mayúscula “A”.
1.4.2.3. DERIVE.
Derive (pronunciado 'diraiv') es un potente programa para el cálculo matemático avanzado: variables, expresiones algebraicas, trigonometría, etc. También tiene capacidades de calculadora científica, y puede representar funciones gráficas en dos y tres dimensiones en varios sistemas coordenados.
La potencia de Derive es enorme y no resulta complicado de manejar, máxime teniendo en cuenta la gran cantidad de posibilidades que ofrece. Es fácil navegar a través de él y consultar la ayuda online y la tabla de contenidos. El usuario también puede personalizar menús, barras de herramientas y atajos de teclado.
En la evolución de DERIVE a TI-CAS, pasó de ser una aplicación de ordenador a estar incluido en las calculadoras TI-89 y TI-Nspire CAS de Texas Instruments.
Derive se encuentra disponible para las plataformas Windows y DOS, y es usado ampliamente con propósitos educativos.
1.5. Análisis de las soluciones existentes.
Las soluciones y sistemas previamente mencionados y brevemente descritos por las características y especificaciones presentadas no dan respuesta en su totalidad a los problemas identificados, lo cual hace
Capítulo 1 Fundamentación Teórica
11
necesario el desarrollo y construcción de una solución que satisfaga las necesidades y problemas aún existentes.
1.6. Tecnologías utilizadas.
1.6.1. Patrones.
1.6.1.1. Patrón Modelo-Vista-Controlador (MVC).
Modelo: datos y reglas de negocio.
Vista: muestra la información del modelo al usuario.
Controlador: gestiona las entradas del usuario.
1. El modelo es el responsable de:
Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
Define las reglas de dominio (la funcionalidad del sistema).
Lleva un registro de las vistas y controladores del sistema.
Si está ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero bath que actualiza los datos, un temporizador que desencadena una inserción, etc).
2. El controlador es responsable de:
Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
Contiene reglas de gestión de eventos. Estas acciones pueden suponer peticiones al modelo o a las vistas.
3. Las vistas son responsables de:
Recibir datos del modelo y lo muestra al usuario.
Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
Pueden dar el servicio de "Actualización ()", para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros
Capítulo 1 Fundamentación Teórica
12
agentes).
1.6.1.2. Patrón ORM (Mapeo Objeto-Relacional).
El ORM es un componente de software que permite trabajar con los datos persistidos como si ellos fueran parte de una base de datos orientada a objetos (en este caso virtual). Debido a que lo estándar es trabajar con BD relacionales, se deben realizar operaciones que permitan transformar un registro en objeto y viceversa. A esta funcionalidad se la llama Mapeo objeto-relacional (ORM).
Object Space: es el objeto principal que nos permite interactuar con los datos. Nos brinda facilidades para instanciar objetos, salvar objetos, eliminar objetos, crear transacciones, cargar listas de objetos, etc. de una forma muy intuitiva.
Utilizando herramientas ORM se accederá el proceso de desarrollo de software. También se obtiene una independencia del motor de base de datos, ya que el desarrollador no escribe SQL directamente, sino un pseudo lenguaje que es traducido al SQL específico de la base de datos configurada.
El código queda mucho más limpio y menos código es necesario lo cual minimiza la probabilidad de errores.
El paradigma relacional se basa en principios matemáticos con tablas y relaciones entre estas y el paradigma de OO se basa en principios de desarrollo de software como clases, objetos y herencia, estos dos paradigmas no conviven fácilmente. Esto se ve claramente en la manera de acceder a los datos.
Mientras en el mundo OO los objetos se relacionan a través de propiedades, en el mundo relacional las tablas se unen a través de llaves primarias. Este problema es conocido como "Impedance Mismatch"(una traducción cercana seria "desajuste de relaciones") y es conocido hace ya un buen tiempo. Las herramientas ORM tratan de solucionar este problema.
1.6.2. Sistema Gestor de Base de Datos PostgreSQL 8.3.
PosgtreSQL 8.3 es un sistema de gestión de bases de datos objeto-relacionales perteneciente al ámbito del software libre que destaca por su robustez, escalabilidad y cumplimiento de los estándares SQL y, en algunos aspectos, está diseñado para que sea extensible por los usuarios. Cuenta con versiones para una amplia gama de sistemas operativos, entre ellos: Linux, Windows, Mac OS X, Solaris y otros.
Capítulo 1 Fundamentación Teórica
13
Este gestor permite la realización de transacciones seguras (ACID), vistas, uniones, claves extranjeras, procedimientos almacenados, copias de seguridad en línea, replicación asíncrona, transacciones anidadas, optimizador de consultas.
La versión 8.3 brinda consistencia en el rendimiento, mejoras de velocidad de operaciones específicas; en cuanto a la base de datos permite realizar recorridos sincronizados, protección de cache L2, entre otros aspectos. Se integra con la tecnología HOT (Conjunto de Tuplas Organizadas), que mejora de forma crítica el rendimiento de las bases de datos que se actualizan con una frecuencia muy alta. Incluye los llamados “commits” asíncronos, soporte SQL/XML, búsquedas de texto en las BBDD o la posibilidad de realizar escaneos simultáneos en grandes bases de datos. Agrega nuevos tipos de datos como son UUIDs, ENUMs y arreglos de tipos compuestos.
1.6.3. Marco de Trabajo SAUXE.
La Unidad de Compatibilización, Integración y Desarrollo de Software para la Defensa (UCID) tiene definido en su marco de trabajo una serie de tecnologías para el desarrollo de aplicaciones de Gestión de Información como son Zend Framework , Doctrine y ExtJS, las cuales se describirán a continuación.
Primeramente se explicará lo que es un framework.
La palabra inglesa framework define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular, que sirve como referencia para enfrentar y resolver nuevos problemas de índole similar.
En el desarrollo de software, un framework es una estructura conceptual y tecnológica de soporte definida, normalmente, con artefactos de software concretos, mediante la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio. Provee una estructura y una metodología de trabajo la cual extiende o utiliza las aplicaciones del dominio.
Capítulo 1 Fundamentación Teórica
14
Los mejores frameworks en JavaScript son: MooTools, Dojo, ExtJS, CLEAN, RIALTO, QooxDoo, script.aculo y MochiKit.
1.6.3.1. Zend Framework.
Zend Framework (ZF) es un framework de código abierto para desarrollar aplicaciones web y servicios web con PHP 5. ZF es una implementación que usa código 100% orientado a objetos. La estructura de los componentes de ZF es algo único; cada componente está construido con una baja dependencia de otros componentes. Esta arquitectura débilmente acoplada permite a los desarrolladores utilizar los componentes por separado. A menudo se refiere a este tipo de diseño como "use-at-will" (uso a voluntad).
Aunque se pueden utilizar de forma individual, los componentes de la biblioteca estándar de Zend Framework conforman un potente y extensible framework de aplicaciones web al combinarse. ZF ofrece un gran rendimiento y una robusta implementación MVC, una abstracción de base de datos fácil de usar, y un componente de formularios que implementa la prestación de formularios HTML, validación y filtrado para que los desarrolladores puedan consolidar todas las operaciones usando de una manera sencilla la interfaz orientada a objetos. Otros componentes, como Zend_Auth y Zend_Acl, proveen autentificación de usuarios y autorización diferentes a las tiendas de certificados comunes. También existen componentes que implementan bibliotecas de cliente para acceder de forma sencilla a los servicios webs más populares.
Cualesquiera que sean las necesidades de su solicitud, usted tiene todas las posibilidades de encontrar un componente de Zend Framework que se pueda utilizar para reducir drásticamente el tiempo de desarrollo, con una base completamente sólida.
El principal patrocinador del proyecto Zend Framework es Zend Technologies, pero muchas empresas han contribuido con componentes o características importantes para el marco. Empresas como Google, Microsoft y StrikeIron se han asociado con Zend para proporcionar interfaces de servicios web y otras tecnologías que desean poner a disposición de los desarrolladores de Zend Framework.
1.6.3.2. Doctrine.
Doctrine es un potente y completo sistema ORM (object relational mapper) para PHP 5.2+ con un DBAL (database abstraction layer) incorporado.