Upload
lythuy
View
227
Download
4
Embed Size (px)
Citation preview
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE
INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN
“SISTEMA DE INFORMACIÓN PARA EL PROGRAMA
AEROESPACIAL POLITÉCNICO”
T E S I S
QUE PARA OBTENER EL GRADO DE
M A E S T R O E N C I E N C I A S E N I N F O R M Á T I C A
P R E S E N T A :
ABRAHAM JONATHAN LATISNERE MEJÍA
DIRECTORA DE TESIS:
M. C. MARTHA JIMÉNEZ GARCÍA
México, D.F. 2013
i
C O N T E N I D O
CONTENIDO...................................................................................................................... i
GLOSARIO ....................................................................................................................... iv
ÍNDICE DE FIGURAS ...................................................................................................... viii
ÍNDICE DE TABLAS .......................................................................................................... xi
RESUMEN ........................................................................................................................ 1
ABSTRACT ........................................................................................................................ 2
INTRODUCCIÓN ............................................................................................................... 3
CAPÍTULO I: La industria aeroespacial en México .......................................................... 5
1.1 Situación actual de la industria: Innovar ........................................................... 7
1.2 Tendencias y conductores de la industria ....................................................... 10
1.2.1 Social ........................................................................................................ 10
1.2.2 Tecnológico .............................................................................................. 11
1.2.3 Económico ................................................................................................ 12
1.2.4 Político y legal .......................................................................................... 13
1.3 Plataformas tecnológicas ................................................................................ 14
1.3.1 Nuevos Conceptos de Investigación Aeronáutica (NACRE) ..................... 15
1.3.2 Estructuras Avanzadas de Bajo Costo (ALCAS) ........................................ 15
1.3.3 Proyecto SCARLETT .................................................................................. 16
1.3.4 Integración Humana al Ciclo de Vida de los Sistemas de Aviación (HILAS)
.......................................................................................................................... 16
1.4 Proyectos principales ...................................................................................... 17
1.4.1 Catálogo de Profesionales ........................................................................ 17
1.4.2 Catálogo de Capacidades Tecnológicas ................................................... 17
1.4.3 Certificación de Calidad de Programas de la Industria Aeroespacial....... 17
1.4.4 Diseño y Fabricación de Turbinas de Baja Presión para Motores de
Aeronaves ......................................................................................................... 18
1.4.5 Proyecto de Crecimiento de Planta de Goodrich ..................................... 18
1.4.5.1 Guaymas............................................................................................ 18
ii
1.4.5.2 Mexicali ............................................................................................. 19
1.5 Integración de la industria .............................................................................. 20
1.6 Desarrollo de proveedores y cadenas de suministro aeroespacial ................ 21
CAPÍTULO II: Ingeniería de software aplicada al SIPAEP ............................................... 27
2.1 Ingeniería de software .................................................................................... 27
2.1.1 Proceso del software ............................................................................... 27
2.1.2 Modelo de procesos del software ........................................................... 28
2.1.3 Marco de trabajo para el proceso ............................................................ 29
2.2 El modelo incremental iterativo ..................................................................... 32
2.3 Arquitectura del software ............................................................................... 33
2.3.1 Diseño de datos........................................................................................ 34
2.3.1.1 Diseño de datos al nivel arquitectónico ............................................ 34
2.3.1.2 Diseño de datos al nivel de componentes ........................................ 35
2.3.2 Estilos arquitectónicos ............................................................................. 36
2.4 Diseño al nivel de componentes ..................................................................... 38
2.4.1 Cohesión................................................................................................... 38
2.4.2 Acoplamiento ........................................................................................... 39
2.5 Ingeniería web................................................................................................. 41
CAPÍTULO III: Análisis y diseño del SIPAEP .................................................................... 44
3.1 Planteamiento del problema .......................................................................... 44
3.2 El Centro de Desarrollo Aeroespacial (CDA) ................................................... 45
3.2.1 Antecedentes del CDA ............................................................................. 46
3.2.2 Objetivos .................................................................................................. 48
3.2.3 Misión....................................................................................................... 48
3.2.4 Visión ........................................................................................................ 48
3.2.5 Objetivos específicos................................................................................ 49
3.2.6 Expectativas ............................................................................................. 50
3.2.7 Organigrama ............................................................................................ 51
3.3 Descripción del sistema .................................................................................. 51
3.3.1 Arquitectura del sistema .......................................................................... 52
3.4 Objetivos ......................................................................................................... 54
iii
3.4.1 Objetivo general ....................................................................................... 54
3.4.2 Objetivos específicos................................................................................ 55
3.5 Justificación ..................................................................................................... 55
3.6 Análisis ............................................................................................................ 55
3.6.1 Requerimientos de usuario ...................................................................... 57
3.6.2 Requerimientos de sistema ..................................................................... 58
3.6.3 Especificaciones del software .................................................................. 60
3.6.3.1 Descripción de módulos .................................................................... 60
3.6.3.2 Frameworks ...................................................................................... 60
3.6.4 Casos de uso ............................................................................................. 65
3.6.5 Modelo conceptual de la base de datos .................................................. 69
CAPITULO IV: Implementación del SIPAEP ................................................................... 74
4.1 Diseño de datos ............................................................................................... 74
4.2 Diseño arquitectónico ..................................................................................... 87
4.2.1 Diagrama de secuencia ............................................................................ 88
4.2.2 Diagramas de clases ................................................................................. 88
4.2.3 Diagrama de componentes .................................................................... 105
4.2.4 Modelo físico de la base de datos .......................................................... 105
4.3 Diseño de interfaces ..................................................................................... 106
CONCLUSIONES ........................................................................................................... 122
PERSPECTIVAS ............................................................................................................. 124
BIBLIOGRAFÍA .................................................................................................................. a
ANEXOS ........................................................................................................................... e
Anexo A. Decreto para la creación de la Agencia Espacial Mexicana ......................... e
Anexo B. Modelo físico de la base de datos del SIPAEP .............................................. l
iv
G L O S A R I O
Aeroespacial: Se dice del ámbito formado por la atmósfera terrestre y el espacio
exterior próximo.
Airbus: Empresa paneuropea aeronáutica y aeroespacial, es desde el año 2011, el
mayor fabricante de aviones y equipos aeroespaciales del mundo.
AJAX: Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML),
es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich
Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el
navegador de los usuarios mientras se mantiene la comunicación asíncrona con el
servidor en segundo plano. De esta forma es posible realizar cambios sobre las
páginas sin necesidad de recargarlas, esto mejora en gran medida la interactividad,
velocidad y usabilidad en las aplicaciones.
Álabe: Es la paleta curva de una turbomáquina o máquina de fluido rotodinámica.
Forma parte del rodete y, en su caso, también del difusor o del distribuidor. Los
álabes desvían el flujo de corriente, bien para la transformación entre energía cinética
y energía de presión por el principio de Bernoulli, o bien para intercambiar cantidad
de movimiento del fluido con un momento de fuerza en el eje.
Aviónica: Es la aplicación de la electrónica a la aviación.
Baby boomer: Es un término usado para describir a las personas que nacieron
durante el baby boom (explosión de natalidad), que sucedió en algunos países
anglosajones, en el período momentáneo y posterior a la Segunda Guerra Mundial,
entre los años 1940 y fines de la década de los 1960.
Base de datos relacional: Es una base de datos que cumple con el modelo relacional,
el cual es el modelo más utilizado en la actualidad para implementar bases de datos
ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que
están guardados en tablas), y a través de dichas conexiones relacionar los datos de
ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas
sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José
(California), no tardó en consolidarse como un nuevo paradigma en los modelos de
base de datos.
Clúster: Es un término inglés encontrado en varios tecnicismos. La traducción literal al
castellano es "racimo", “conjunto”, "grupo" o "cúmulo". Un clúster de computadores
se aplica a los conjuntos o conglomerados de computadoras construidos mediante la
v
utilización de hardware común y que se comportan como si fuesen una única
computadora.
Compósito: Son materiales sintéticos que están mezclados heterogéneamente y que
forman un compuesto, como su nombre indica. Están compuestos por moléculas de
elementos variados. Estos componentes pueden ser de dos tipos: los de cohesión y
los de refuerzo. Los componentes de cohesión envuelven y unen los componentes de
refuerzo (o simplemente refuerzos) manteniendo la rigidez y la posición de éstos. Los
refuerzos confieren unas propiedades físicas al conjunto tal que mejoran las
propiedades de cohesión y rigidez. Así, esta combinación de materiales le da al
compuesto unas propiedades mecánicas notablemente superiores a las de las
materias primas de las que procede. Tales moléculas suelen formar estructuras muy
resistentes y livianas; por este motivo se utilizan desde mediados del siglo XX en los
más variados campos: aeronáutica, fabricación de prótesis, astro y cosmonáutica,
ingeniería naval, ingeniería civil, artículos de campismo, entre otros.
Framework: Define 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 o infraestructura digital, es una estructura conceptual y tecnológica de
soporte definido, normalmente con artefactos o módulos de software concretos, que
puede servir de base para la organización y desarrollo de software. Típicamente,
puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre
otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes
de un proyecto.
ITR (Turborreactores): Es el tipo más antiguo de los motores de reacción de propósito
general. El concepto fue desarrollado en motores prácticos a finales de los años 1930
de manera independiente por dos ingenieros, Frank Whittle en el Reino Unido y Hans
von Ohain en Alemania. El ciclo de trabajo de este tipo de motores es el de Brayton,
es similar al del motor recíproco por contar con la misma disposición de los tiempos
de trabajo (Admisión, Compresión, combustión y Escape).Un turborreactor consiste
en una entrada de aire, un compresor de aire, una cámara de combustión, una
turbina de gas (que mueve el compresor del aire) y una tobera. El aire entra
comprimido en la cámara, se calienta y expande por la combustión del combustible y
entonces es expulsado a través de la turbina hacia la tobera siendo acelerado a altas
velocidades para proporcionar la propulsión.
Java: Es un lenguaje de programación originalmente desarrollado por James Gosling
de Sun Microsystems y publicado en 1995 como un componente fundamental de la
plataforma Java de Sun Microsystems. Las aplicaciones de Java son generalmente
compiladas a bytecode (clase Java) que puede correr en cualquier máquina virtual
vi
Java (JVM) sin importar la arquitectura de la computadora. Java es un lenguaje de
programación de propósito general, concurrente, basado en clases, y orientado a
objetos, que fue diseñado específicamente para tener tan pocas dependencias de
implementación como fuera posible.
Log: Es un término anglosajón, equivalente a la palabra bitácora en español. Sin
embargo, se utiliza en los países de habla hispana como un anglicismo derivado de las
traducciones del inglés en la jerga informática. Un log es un registro oficial de eventos
durante un rango de tiempo en particular. Para los profesionales en seguridad
informática es usado para registrar datos o información sobre quién, qué, cuándo,
dónde y por qué (who, what, when, where y why) un evento ocurre para un
dispositivo en particular o aplicación.
NetBeans: Es un entorno de desarrollo integrado libre, hecho principalmente para el
lenguaje de programación Java. Existe además un número importante de módulos
para extenderlo. NetBeans integrated development environment (NetBeans IDE) es un
producto libre y gratuito sin restricciones de uso.
Patrón de arquitectura: Son patrones de diseño de software que ofrecen soluciones a
problemas de arquitectura de software en ingeniería de software. Dan una
descripción de los elementos y el tipo de relación que tienen junto con un conjunto
de restricciones sobre cómo pueden ser usados. Un patrón arquitectónico expresa un
esquema de organización estructural esencial para un sistema de software, que
consta de subsistemas, sus responsabilidades e interrelaciones. En comparación con
los patrones de diseño, los patrones arquitectónicos tienen un nivel de abstracción
mayor.
Pipeline: Consiste en ir transformando un flujo de datos en un proceso comprendido
por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior.
Plugin: Es un módulo de hardware o software que añade una característica o un
servicio específico a un sistema más grande.
POJO: Un POJO (acrónimo de Plain Old Java Object) es una sigla creada por Martin
Fowler, Rebecca Parsons y Josh MacKenzie en septiembre de 2000 y utilizada por
programadores Java para enfatizar el uso de clases simples y que no dependen de un
framework en especial.
Six Sigma: Es una metodología de mejora de procesos, centrada en la reducción de la
variabilidad de los mismos, consiguiendo reducir o eliminar los defectos o fallas en la
entrega de un producto o servicio al cliente. La meta de 6 Sigma es llegar a un
máximo de 3.4 defectos por millón de eventos u oportunidades (DPMO),
vii
entendiéndose como defecto cualquier evento en que un producto o servicio no logra
cumplir los requisitos del cliente.
WebApp: En la ingeniería de software se denomina WebApp (aplicación web) a
aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web
a través de Internet o de una intranet mediante un navegador. En otras palabras, es
una aplicación software que se codifica en un lenguaje soportado por los navegadores
web en la que se confía la ejecución al navegador.
Las aplicaciones web son populares debido a lo práctico del navegador web como
cliente ligero, a la independencia del sistema operativo, así como a la facilidad para
actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de
usuarios potenciales.
viii
Í N D I C E D E F I G U R A S
Figura 1. Crecimiento del sector aeroespacial mexicano. Fuente: Secretaría de
Economía Dirección General de Industrias Pesadas. Industria. 2009 ............................. 5
Figura 2. Crecimiento del número de compañías aeroespaciales en México. Fuente:
Secretaría de Economía Dirección General de Industrias Pesadas. Industria. México
2009 ................................................................................................................................ 6
Figura 3. Fases del ciclo de innovación. Fuente: Cámara de Comercio de Filadelfia.
Connecting the Greater Philadelphia. 2003 .................................................................... 8
Figura 4. Análisis FODA de la industria aeroespacial en México. Fuente: Sesión de
grupo foco del Grupo de Trabajo Unidad de Inteligencia de Negocios. ProMéxico. 2009
........................................................................................................................................ 9
Figura 5. Número de estudiantes de ingeniería. Fuente: ANUIES y American Society for
Engineering Education. American Society for Engineering Education. 2009................ 11
Figura 6. Modelo de actividades sombrilla. Fuente: Pressman, Roger S. Ingeniería del
software. Un enfoque práctico. 2005............................................................................ 30
Figura 7. Modelo incremental iterativo. Fuente: Pressman, Roger S. Ingeniería del
software. Un enfoque práctico. 2005............................................................................ 32
Figura 8. Organigrama del CDA. Fuente: Instituto Politécnico Nacional. Centro de
Desarrollo Aeroespacial 2012 ....................................................................................... 51
Figura 9. Flujo de pantallas del SIPAEP ......................................................................... 53
Figura 10. Objetivos del SIPAEP .................................................................................... 54
Figura 11. Caso de uso principal del SIPAEP ................................................................. 65
Figura 12. Caso de uso “aplicar encuesta” perfil investigador y directivo ................... 67
Figura 13. Modelo de la entidad "tipo_de_dato_recurso" ........................................... 69
Figura 14. Modelo de la entidad "dependencia" .......................................................... 69
Figura 15. Modelo de la entidad "recurso_material" ................................................... 70
Figura 16. Modelo de la entidad "entidad_aeroespacial_encuesta" ........................... 70
Figura 17. Modelo de la entidad "recurso_financiero" ................................................ 70
Figura 18. Modelo de la entidad "datos_personales" .................................................. 70
Figura 19. Modelo de la entidad "recurso_encuesta" .................................................. 71
Figura 20. Modelo de la entidad "iniciativa" ................................................................ 71
Figura 21. Modelo de la entidad "informacion_academica_encuestado" ................... 71
Figura 22. Modelo de la entidad "propuesta_encuesta" .............................................. 71
Figura 23. Modelo de la entidad "academico" ............................................................. 72
Figura 24. Modelo de la entidad "encuesta" ................................................................ 72
Figura 25. Modelo de la entidad "catalogo_simple" .................................................... 72
Figura 26. Modelo de la entidad "institucion_educativa" ............................................ 72
Figura 27. Modelo de la entidad "datos_personales" .................................................. 73
Figura 28. Diseño arquitectónico del SIPAEP ................................................................ 87
ix
Figura 29. Diagrama de secuencia del SIPAEP .............................................................. 88
Figura 30. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.cargador” ... 89
Figura 31. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.cargador.util”
...................................................................................................................................... 89
Figura 32. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.core.encuesta” .......................................................... 90
Figura 33. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.core.iniciativa” .......................................................... 90
Figura 34. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.core.usuario”
...................................................................................................................................... 91
Figura 35. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.catalogo”
...................................................................................................................................... 92
Figura 36. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.encuesta”
...................................................................................................................................... 93
Figura 37. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.iniciativa”
...................................................................................................................................... 94
Figura 38. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.dao.seguridad” .......................................................... 95
Figura 39. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.modelo” ..... 95
Figura 40. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.modelo.catalogo” ..................................................... 96
Figura 41. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.modelo.iniciativa” ..................................................... 97
Figura 42. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.modelo.persona” ...................................................... 98
Figura 43. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.modelo.seguridad” ................................................... 99
Figura 44. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.seguridad” ................................................ 100
Figura 45. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.spring” ...................................................... 101
Figura 46. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.util”
.................................................................................................................................... 101
Figura 47. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows” ................................................. 102
Figura 48. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows.header” ..................................... 103
Figura 49. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows.iniciativa” .................................. 103
Figura 50. Diagrama de clases paquete
“mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows.model” ...................................... 104
x
Figura 51. Diagrama de componentes del SIPAEP ...................................................... 105
Figura 52. Pantalla de bienvenida del SIPAEP ............................................................. 106
Figura 53. Mensaje de bienvenida al usuario encuestado ......................................... 107
Figura 54. Pantalla de captura de datos personales ................................................... 107
Figura 55. Pantalla de agradecimiento por participar en la encuesta ........................ 108
Figura 56. Formulario uno de encuesta para perfil directivo ..................................... 109
Figura 57. Formulario dos de encuesta para perfil directivo ...................................... 110
Figura 58. Formulario tres de encuesta para perfil directivo ..................................... 111
Figura 59. Formulario cuatro de encuesta para perfil directivo ................................. 112
Figura 60. Formulario uno de encuesta para perfil investigador................................ 113
Figura 61. Formulario dos de encuesta para perfil investigador ................................ 114
Figura 62. Formulario tres de encuesta para perfil investigador................................ 115
Figura 63. Pantalla de inicio de sesión para perfil administrador............................... 116
Figura 64. Pantalla de administración de catálogos ................................................... 117
Figura 65. Pantalla de administración de usuarios ..................................................... 118
Figura 66. Pantalla principal de generación de iniciativas .......................................... 119
Figura 67. Pantalla espacio de trabajo para generar iniciativas ................................. 120
Figura 68. Mensaje de almacenamiento exitoso de iniciativa en el SIPAEP ............... 121
Figura 69. Modelo físico de la base de datos del SIPAEP ................................................. l
xi
Í N D I C E D E T A B L A S
Tabla 1. Capacidades por estado del sector aeroespacial. Fuente: Secretaría de
Hacienda y Crédito Público. Cinta de aduanas. 2008 ................................................... 23
Tabla 2. Nichos de especialidad del sector de tercer nivel. Fuente: Secretaría de
Hacienda y Crédito Público. Cinta de aduanas. 2008 ................................................... 25
Tabla 3. Ventajas de la implementación del SIPAEP ..................................................... 45
Tabla 4. Descripción de caso de uso “generar iniciativas” ........................................... 66
Tabla 5. Descripción de caso de uso “aplicar encuesta” ............................................... 66
Tabla 6. Descripción de caso de uso “administrar catálogos” ...................................... 67
Tabla 7. Descripción de caso de uso “aplicar encuesta” perfil investigador ................ 68
Tabla 8. Descripción de caso de uso “aplicar encuesta” perfil directivo ...................... 68
Tabla 9. Descripción de entidad “entidad_aeroespacial_encuesta” ............................ 74
Tabla 10. Descripción de entidad “encuesta_curso” .................................................... 74
Tabla 11. Descripción de entidad “encuesta_valor_otro_catalogo” ............................ 75
Tabla 12. Descripción de entidad “tipo_recurso” ......................................................... 75
Tabla 13. Descripción de entidad “recurso_encuesta” ................................................. 75
Tabla 14. Descripción de entidad “iniciativa_academico” ............................................ 75
Tabla 15. Descripción de entidad “academico" ............................................................ 76
Tabla 16. Descripción de entidad “usuario” ................................................................. 76
Tabla 17. Descripción de entidad “dependencia” ........................................................ 77
Tabla 18. Descripción de entidad “vinculo_entidad_encuesta_catalogo_simple” ...... 77
Tabla 19. Descripción de entidad “vinculo_entidad_encuesta” ................................... 77
Tabla 20. Descripción de entidad “valor_otro_catalogo” ............................................. 78
Tabla 21. Descripción de entidad “institucion_educativa” ........................................... 78
Tabla 22. Descripción de entidad “recurso financiero” ................................................ 78
Tabla 23. Descripción de entidad “iniciativa” ............................................................... 79
Tabla 24. Descripción de entidad “propuesta_encuesta” ............................................ 79
Tabla 25. Descripción de entidad “encuesta_entidades_productoras” ....................... 79
Tabla 26. Descripción de entidad “encuesta_coordinadores” ..................................... 79
Tabla 27. Descripción de entidad “recurso_material” .................................................. 80
xii
Tabla 28. Descripción de entidad “autorizacion_usuario” ........................................... 80
Tabla 29. Descripción de entidad “iniciativa_recurso_material” ................................. 80
Tabla 30. Descripción de entidad “iniciativa_recurso_financiero” ............................... 80
Tabla 31. Descripción de entidad “encuesta_carreras” ................................................ 81
Tabla 32. Descripción de entidad “información_academica_encuestado” .................. 81
Tabla 33. Descripción de entidad “encuesta_proyecto_encuesta” .............................. 81
Tabla 34. Descripción de entidad “encuesta_recursos_materiales” ............................ 81
Tabla 35. Descripción de entidad “encuesta_recursos_humanos” .............................. 82
Tabla 36. Descripción de entidad “encuesta_recursos_financiero”s ........................... 82
Tabla 37. Descripción de entidad “encuesta_tecnologias” .......................................... 82
Tabla 38. Descripción de entidad “entidad_aeroespacial_encuesta_catalogo_simple”
...................................................................................................................................... 82
Tabla 39. Descripción de entidad “encuesta” ............................................................... 83
Tabla 40. Descripción de entidad “proyecto_encuesta” .............................................. 84
Tabla 41. Descripción de entidad “encuesta_entidades_receptoras” ......................... 84
Tabla 42. Descripción de entidad “catalogo simple” .................................................... 84
Tabla 43. Descripción de entidad “cargo” .................................................................... 85
Tabla 44. Descripción de entidad “encuesta_servicios_aeroespaciales” ..................... 85
Tabla 45. Descripción de entidad “datos_personales_encuesta” ................................ 85
Tabla 46. Descripción de entidad “acción” ................................................................... 86
Tabla 47. Descripción de entidad “datos_personales” ................................................. 86
1
R E S U M E N
La dinámica de crecimiento y desarrollo del sector aeroespacial en México ha
colocado a nuestro país como el noveno proveedor de la industria de los EE. UU. y el
sexto de la Unión Europea (1), (2) a partir de las capacidades de manufactura y talento
mexicano. Dentro de este contexto, el reto para México es convertir esta ventana de
oportunidad en un ecosistema de innovación de alto valor agregado nacional; en un
sector de empleos de calidad, de atracción de inversión y talento, generador de polos
de competitividad ligados a redes internacionales de innovación.
A partir de lo anterior y a la par con la creación de la Agencia Espacial Mexicana
(AEM) surge el Proyecto Aeroespacial Politécnico (PAEP) el cual tiene por objetivo
integrar y fortalecer las actividades institucionales en materia aeroespacial, enfocado
a coordinar y organizar las actividades que el Instituto Politécnico Nacional (IPN)
realice en esta materia.
Uno de los primeros pasos fundamentales del PAEP es determinar la capacidad
institucional con que cuenta el IPN en materia aeroespacial, esto basado en la
identificación de los recursos tecnológicos, instalaciones, proyectos de investigación,
programas académicos y capital humano con que cuenta el Instituto.
Es por ello que para cumplir con este propósito, el presente trabajo está dedicado al
análisis, diseño e implementación de la plataforma tecnológica que, por medio del
uso de tecnologías Web, centralice la información concerniente al PAEP, permita con
mayor facilidad y certeza determinar las capacidades institucionales en esta materia
por medio de la aplicación de cuestionarios vía Internet y sirva como base para
futuros proyectos que hagan uso de estas tecnologías.
El Sistema de Información para el Programa Aeroespacial Politécnico (SIPAEP) hace
uso de bases de datos relacionales, del patrón de arquitectura de software Modelo
Vista Controlador (MVC), de tecnología Java y del framework ZK. Asimismo contempla
un diseño en capas para facilitar su manutención y escalamiento, esquemas de
gestión de usuarios y seguridad.
2
A B S T R A C T
The growth dynamic and the development of the aerospace industry in Mexico have
collocated our country as the ninth provider of the US industry, also it’s become the
sixth provider of the European Union since its manufacture capabilities and Mexican
talent. Within this context, the challenge for Mexico is to turn this zone of
opportunities into an innovation ecosystem of a high national added value; into a
quality employment sector, of attraction, talent and investment, competitive poles
generator bound to international innovation networks.
Based on the text above and close to the creation of the Mexican Space Agency (AEM)
comes Polytechnic Aerospace Project (PAEP) which aims to integrate and strengthen
the institutional activities in aerospace, aimed at coordinating and organizing
activities National Polytechnic Institute (IPN) perform in this area.
One of the fundamental first steps of the PAEP is to determinate the institutional
capability of the IPN in aerospace subject, based in the identification of the
technological resources, facilities, investigation projects, academic programs and
human resources that the institute has.
For that reason, in order to achieve this purpose, the current work is dedicated to
analyze, design and implement the technological platform which, by the usage of Web
technologies, centralizes the concerning information for PAEP, allows to determinate
with mayor facility and certainty the institutional capabilities in this subject by the
application of questionnaires via Internet and serve as base for future projects that
make use of this technologies.
The Information System for the Polytechnic Aerospace Program (SIPAEP) makes use of
relational data bases, from the architecture pattern of Model View Controller (MVC)
software, of Java technology and the ZK framework. Also it contemplates a layers
design in order to facilitate its maintenance and scaling, user management schemes
and security.
3
I N T R O D U C C I Ó N
El Instituto Politécnico Nacional siempre se ha caracterizado por ser una institución
de vanguardia científica, tecnológica y académica; es una de las instituciones
educativas más importantes a nivel nacional y sus aportaciones al campo científico e
industrial son notables. Es por ello que la participación del IPN en programas y
proyectos, tanto del sector público como del sector privado, es importante dada la
experiencia, conocimientos e infraestructura con que cuenta.
México es un país en constante cambio y en su carrera por ser protagonista en un
mundo globalizado, ha buscado diversificar su actividad industrial. Este objetivo ha
propiciado que en los últimos años el sector aeroespacial se haya convertido en uno
de los de más rápido crecimiento a nivel nacional, incorporándolo en su dinámica de
desarrollo económico. Aunado a esto y para contribuir con la expansión de este
sector en crecimiento, se expide el decreto presidencial por medio del cual se crea la
Agencia Espacial Mexicana y con ella nace también el Proyecto Aeroespacial
Politécnico, el cual tiene por objetivo integrar y fortalecer las actividades
institucionales en materia aeroespacial.
Dado que actualmente la información es el recurso más valioso con que se cuenta,
para reducir la incertidumbre, es prioritario para el PAEP conocer los recursos
humanos, tecnológicos, de investigación e infraestructura que conforman al IPN en
este sector, para así tener una mejor gestión de proyectos siempre con el objetivo de
lograr resultados favorables y proyectos exitosos.
El diseño, implementación y aplicación de un sistema de información que permita
automatizar ciertas tareas y mejorar el desempeño de los procesos de negocio
necesarios para obtener, gestionar y explotar la información con que cuenta el IPN en
materia aeroespacial es el objetivo del presente trabajo.
La explotación de la información facilitará la toma de decisiones en los proyectos
concernientes al ámbito aeroespacial en los que se vea involucrado el IPN. Permitirá
realizar una mejor planeación de dichos proyectos y contribuirá a la asignación de
recursos de una manera más precisa.
Es por ello que el presente trabajo documenta la creación del SIPAEP por medio de
cinco capítulos, los cuales están conformados de la siguiente manera.
En el primer capítulo se muestra el estatus actual de la industria aeroespacial en
nuestro país, se presentan los principales proyectos que existen en el ámbito nacional
e internacional y se identifican las tendencias de la industria desde el punto de vista
económico, legal y político.
4
El capítulo dos aborda el marco teórico en el que se basa el desarrollo del SIPAEP
desde el punto de vista de la ingeniería de software, se muestran los aspectos básicos
de la ingeniería de software y conceptos fundamentales para el correcto desarrollo de
sistemas de software. Cabe destacar la importancia de la ingeniería web y el modelo
incremental iterativo que se describen en este capítulo y que intrínsecamente forman
parte del SIPAEP.
En el capítulo tercero se describen a detalle las fases de análisis y diseño del SIPAEP,
mismas que son las más importantes ya que permiten vislumbrar cómo debe ser
diseñado el sistema para que satisfaga todos los requisitos planeados.
Finalmente, en el cuarto capítulo, se muestra la fase de implementación del SIPAEP.
En dicho capítulo se muestran los diagramas del sistema y de la base de datos que
conforman la implementación del SIPAEP, así como el diseño visual del mismo.
5
C A P Í T U L O I : L a i n d u s t r i a
a e r o e s p a c i a l e n M é x i c o
El sector aeroespacial mexicano se encuentra en una fase de rápido crecimiento.
Durante los últimos cinco años el crecimiento en exportaciones del sector ha sido de
dos dígitos y el número de empresas establecidas en el país se ha triplicado con más
de 190 empresas para 2009 (3).
Figura 1. Crecimiento del sector aeroespacial mexicano. Fuente: Secretaría de Economía Dirección General de Industrias Pesadas. Industria. 2009
Las empresas aeroespaciales establecidas en México, en su mayoría extranjeras,
emplean alrededor de 30 mil personas y generaron para 2009 más de 3 mil millones
de dólares en exportaciones.
El sector es considerado como estratégico por su alto aporte de desarrollo
tecnológico y por la generación de cuadros técnicos especializados. Está sustentado
en cuatro ejes principales: Manufactura, Ingeniería, Diseño y Educación (capacitación,
entrenamiento y formación), Mantenimiento y Reparación (MRO) y Aerolíneas,
Aeropuertos y Servicios Auxiliares (3).
1063 962 1091
961
1380
2279 2466
1267 1343 1306
1684
2042
2728
3133
0
500
1000
1500
2000
2500
3000
3500
2002 2003 2004 2005 2006 2007 2008
Mill
on
es
de
dó
lare
s
Años Importaciones
Exportaciones
6
Figura 2. Crecimiento del número de compañías aeroespaciales en México. Fuente: Secretaría de Economía Dirección General de Industrias Pesadas. Industria. México 2009
En la actualidad el 80% de las empresas aeroespaciales en México se dedican a la
manufactura de piezas como: componentes, cables y arneses, componentes de
sistemas de aterrizaje, modelado e inyección de plástico, maquinaria de precisión,
entre otras. La perspectiva del sector para las empresas manufactureras es
evolucionar de una primera etapa, en donde ya se elaboren ensambles simples y
fabricación de partes aéreas, a una segunda etapa en donde se realicen manufacturas
de fuselajes y bienes más complejos a nivel de sistemas y subsistemas y finalmente a
una tercera etapa en donde se realicen diseños y ensambles completos de aviones
con alto contenido nacional y con un alto grado de innovación.
Estas fases representan una primera aproximación a la estrategia general del sector.
En términos generales, el sector se encuentra en un período de transición de la
primera a la segunda etapa en la que ya existen empresas en proceso de ensamble de
subsistemas de mediana complejidad.
Por su parte, las empresas dedicadas a la ingeniería, diseño y educación representan
un 10% de las empresas aeroespaciales. Sus principales capacidades se concentran en
sistemas de control, instrumentación, simulación de vuelo, pruebas no destructivas,
diseño de equipamiento, procesamiento de datos e imagen, etc. Adicionalmente,
existen en el país 900 programas de posgrados relacionados con la ingeniería y la
tecnología en las universidades mexicanas, algunos soportados por el Consejo
Mexicano de Educación Aeroespacial (COMEA), el cual fue creado en octubre de 2007
con la firma de 12 instituciones educativas fundadoras, quienes desarrollan capital
61 67
120
193
0
50
100
150
200
250
2005 2006 2007 2008
Co
mp
añía
s
Años
Compañías
7
humano, investigación, desarrollo y transferencia tecnológica para la industria
aeroespacial.
Las empresas aeroespaciales dedicadas al Mantenimiento y Reparación (MRO)
representan un 10% del total de empresas y enfocan sus principales capacidades en el
mantenimiento de: turbinas y motores, unidades auxiliares de poder, fuselajes,
sistemas eléctrico-electrónicos, sistemas de aterrizaje, etc. La perspectiva para el país
es convertir a México en el principal centro de Mantenimiento y Reparación de
América con proyectos como el de Administración Inteligente de Flotas Maduras
(TARMAC) dedicado al desarmado y reciclado de aeronaves. La flota aérea mexicana
es la quinta más importante del mundo (por el número de aviones) y la segunda flota
de jets ejecutivos, sólo después de los Estados Unidos, por lo que el grado de
desarrollo del mercado de MRO está sub aprovechado y representa una clara
oportunidad a ser desarrollada en su pleno potencial.
Los servicios Aeroportuarios y Auxiliares en México reúnen a 7,572 aeronaves: 1,646
de uso comercial; 5,561 privados y 365 oficiales; 85 aeropuertos (58 internacionales y
27 nacionales). El aeropuerto de la Ciudad de México atiende el 46% de los pasajeros
y el 59% de la carga total. Otros aeropuertos de importancia son Estado de México,
Guadalajara, Monterrey y Tijuana. Durante el 2007, los aeropuertos de México dieron
servicio a 55.3 millones de pasajeros, con un crecimiento del 6.3% anual según datos
de la Dirección General de Aeronáutica Civil (DGAC). La perspectiva del sector es
realizar estudios de generación de nuevas rutas, de vocaciones por aeropuerto, así
como incentivar las exportaciones de servicios aeroportuarios.
1.1 Situación actual de la industria: Innovar La innovación es actualmente un concepto crítico para cualquier industria, sobre todo
para aquellas en las cuales la tecnología es un aspecto crucial. La aeroespacial es una
de ellas.
La ciencia y la tecnología requieren de un liderazgo y un plan de acción orientado
hacia el cumplimiento de objetivos que deriven en innovación. Para ser un concepto
efectivo y una herramienta de utilidad, la innovación debe cumplir un ciclo de
diversas etapas en las cuales el liderazgo se debe transmitir de una etapa a otra de
manera efectiva para así continuar con el ciclo, de lo contrario, el proceso de
innovación se puede ver interrumpido en una de las etapas, lo que provoca que no se
logre llegar al objetivo de innovar (4).
8
Figura 3. Fases del ciclo de innovación. Fuente: Cámara de Comercio de Filadelfia. Connecting the Greater Philadelphia. 2003
Con la finalidad de conocer la situación en la que se encuentra la industria
aeroespacial se presenta a continuación un análisis de Fortalezas, Oportunidades,
Debilidades y Amenazas (FODA), que permite obtener un diagnóstico para tomar
decisiones con respecto a este sector (5).
•Nuevas oportunidades para los individuos en las regiones, que los incentiven a crear nuevos procesos, productos, servicios o empresas.
•Conocimiento que permita el crecimiento.
•Cadena de suministro de alto valor que promueva el crecimiento a largo plazo.
•Recursos apropiados para la producción.
•Personal capacitado.
•Investigación y desarrollo que aporten valor agregado a los productos.
•Acceso a clientes internacionales.
•Transferencia de tecnología a través de universidades e instituciones con beneficios mutuos.
•Intereses interdisciplinarios y colaborativos que promuevan y alcancen los retos tecnológicos.
•Masa crítica de investigación.
•Expansión de conocimientos.
•Entornos que promuevan la ciencia y descubrimientos.
Concepción Formación
Madurez Crecimiento
9
Figura 4. Análisis FODA de la industria aeroespacial en México. Fuente: Sesión de grupo foco del Grupo de Trabajo Unidad de Inteligencia de Negocios. ProMéxico. 2009
FORTALEZAS
•Disponibilidad de talento.
•Experiencia en otros sectores.
•Localización geográfica.
•Costos competitivos y calidad.
•Experiencia en formación de talento.
•Infraestructura.
•Proyectos Gubernamentales.
•Existencia de una base industrial aeronáutica
•Desarrollo de trabajo en conjunto entre los principales actores de la industria.
OPORTUNIDADES
•Crecimiento constante del sector.
•Aprovechamiento de las capacidades del sector en el exterior.
•Desarrollo de nuevas tecnologías del sector a nivel mundial.
•Administración de cadena de suministro con enfoque a nichos específicos.
•Confianza de socios comerciales en México como país de bajo riesgo en términos de seguridad nacional.
•Existencia de grandes flotas continentales en operación.
•Marco arancelario favorable.
DEBILIDADES
•Falta de visión conjunta.
•Desarrollo limitado de la industria nacional.
•Coordinación deficiente de los diversos actores en las actividades para el desarrollo aeroespacial.
•Inexistencia de abasto nacional de materias primas.
•Desconocimiento del modelo de negocios del secor aeronáutico por potenciales proveedores nacionales.
AMENAZAS
•Crisis económica mundial.
•Panorama incierto del desarrollo del sector.
•Fuerte competencia de los países emergentes en la industria.
•Presiones por incrementar eficiencia y reducción de costo total de operación de aeronaves.
•Limitada masa crítica de profesionales especializados en ingeniería aeronáutica.
•Marco regulatorio y falta de financiamiento.
10
1.2 Tendencias y conductores de la industria A continuación se presentan las principales tendencias y conductores de la industria
aeroespacial mundial, las cuales brindan un panorama general de los diversos
conductores de mercado y tendencias a considerar para definir las líneas de
desarrollo futuras. En este sentido se abordan los ámbitos social, tecnológico,
económico, político y legal. La importancia de analizar las tendencias en estos rubros
es primordial para poder determinar las necesidades de la industria a corto, mediano
y largo plazo, así como minimizar los posibles riesgos que se presenten.
1.2.1 Social Una de las principales ventanas de oportunidad para nuestro país se puede identificar
en la escasez prevista de ingenieros y técnicos en los países desarrollados
(principalmente en Estados Unidos y Canadá); aunado al importante crecimiento de la
población estudiantil mexicana en carreras de ingeniería y tecnología (6). Se aprovecha
esta ventana, que encontrará su pico en el año 2013; nuestro país encontrará una
ventaja competitiva, no sólo en costos de manufactura, sino en oportunidades de
innovación y diseño. Los diversos analistas muestran también que esta escasez se va a
profundizar debido a que los profesionales técnicos de la industria provienen
principalmente de la generación llamada “baby boomers” que están en proceso de
jubilación y no existirán cuadros de remplazo. Para México, esta ventana implicará
acciones específicas para fortalecer la calidad de los egresados, adecuar los
programas de estudio a las necesidades de la industria y poner especial énfasis en las
negociaciones de los programas de movilidad del Tratado de Libre Comercio de
América del Norte (TLCAN).
11
Figura 5. Número de estudiantes de ingeniería. Fuente: ANUIES y American Society for Engineering Education. American Society for Engineering Education. 2009
1.2.2 Tecnológico En el campo tecnológico y la necesidad de incorporar tecnologías verdes en motores y
aligerar el peso de los aviones podemos observar otra tendencia que puede ser bien
aprovechada si consideramos que al mismo tiempo se desarrollan proyectos
relacionados en nuestro país. En relación a este punto es importante mencionar el
proyecto de Industria de Turborreactores (ITR) en turbinas de baja presión y que en
nuestro país se encuentran dos de los principales centros de innovación y diseño de
turbinas o partes para turbinas: General Electric y Honeywell.
Respecto a la tendencia definida para el uso de nuevos materiales especialmente
compósitos y aleaciones ligeras, es importante considerar que en México se
encuentran centros de investigación de alto nivel académicos como los siguientes:
Centro de Tecnología Avanzada (CIATEQ), Corporación Mexicana de Investigación en
Materiales S.A. de C.V. (COMIMSA), Centro de Ingeniería y Desarrollo Industrial
(CIDESI), Universidad Nacional Autónoma de México (UNAM), Instituto Tecnológico y
de Estudios Superiores de Monterrey (ITESM), Centro de Investigación y Desarrollo de
Tecnología Digital (CIDETI), Centro de Investigación en Ciencia Aplicada y Tecnología
Avanzada (CICATA) entre otros; de hecho el Consejo Nacional de Ciencia y Tecnología
(CONACYT) coordina la red temática de nuevos materiales en la que colaboran los
principales investigadores del país en estos temas.
0
50
100
150
200
250
300
350
400
450
500
2001 2002 2003 2004
Mile
s d
e e
stu
dia
nte
s
Número de estudiantes de ingeniería
Estados Unidos
México
12
1.2.3 Económico La entrada de nuevos actores al escenario de manufactura aeroespacial: China, India,
Europa del Este, imponen la necesidad de comprender y fortalecer nuestras ventajas
comparativas y desarrollar estrategias para reducir las brechas que nos separan de
ellos en nuestras áreas de oportunidad. Sin duda, la economía mundial forzará a las
principales empresas del sector a reconsiderar su estrategia de posicionamiento, en
especial la relacionada a la manufactura, situación que representa al mismo tiempo
una oportunidad y un riesgo. En general, la principal área de enfoque deberá
centrarse en la capacidad de innovación y formación de talento.
En relación con China e India, la ventaja logística para abastecer el mercado de los
Estados Unidos debe aprovecharse y favorecer la optimización de la cadena de
suministro, en especial la logística. La Agenda de Competitividad Logística 2008 –
2012 (ACL) considera la implementación de una serie de acciones orientadas a:
Mejorar la calidad y predictibilidad del sistema logístico operacional dentro
de la gestión de la cadena de suministros.
Incrementar los niveles de servicio ofertados por las empresas del sector en
México.
Implementar acciones que conlleven al desarrollo de relaciones duraderas,
con los proveedores y clientes claves de la cadena de suministros.
En el programa ProLogyca de la Secretaría de Economía se detallan los aspectos
logísticos a mejorar, inhibidores y áreas de oportunidad (7). Si queremos ver a nuestro
país como Hub Logístico de las Américas será estratégico considerar los retos y
prioridades desde la perspectiva definida en el ACL:
Oferta de servicios logísticos.
Difusión del uso de servicios logísticos.
Posicionamiento internacional.
Facilitación comercial.
Calidad de los servicios.
Capital humano.
Coordinación gobierno – sector privado.
Para lograr las siguientes metas en el periodo 2008 – 2013
13
Disminuir los costos logísticos de las empresas como porcentaje de sus
ventas.
Aumentar los niveles de servicios de las empresas en México,
específicamente en lo que se refiere a los porcentajes de entregas a tiempo y
entregas completas, para alcanzar al menos 93% global en 2012.
Incrementar el número de empresas que subcontratan servicios logísticos.
Facilitar el desarrollo de actividades comerciales tanto en el mercado interno
como de exportación e importación.
Esto lleva a la definición de las siguientes líneas estratégicas:
Promover la creación de una mayor y mejor oferta de servicios logísticos en
México.
Promover la incorporación de mejores prácticas en la gestión logística en las
empresas.
Posicionar a México internacionalmente como centro logístico de clase
mundial.
Promover adecuaciones logísticas en operaciones de infraestructura para
lograr facilitación comercial.
Promover la certificación en calidad de los operadores logísticos.
Fomentar el incremento de la formación de capital humano con capacidades
en servicios logísticos.
Mejorar la coordinación entre los gobiernos federal y local y la iniciativa
privada.
1.2.4 Político y legal De acuerdo a la naturaleza de la misma industria aeroespacial, además de la
innovación, uno de los principales conductores de negocio del sector es la seguridad y
su relación con los procesos de certificación y garantía de calidad. Esto refuerza la
necesidad de que nuestro país desarrolle los mecanismos de certificación y garantía
de seguridad aérea con sus principales socios comerciales. Tal es el caso del Tratado
Bilateral de Seguridad Aérea con los Estados Unidos (BASA) que al hacerlo operativo
nos permitirá la exportación de partes y componentes aeroespaciales a los Estados
Unidos al hacer válida la certificación mexicana. De allí la gran importancia que tiene
14
desarrollar una estrategia especial para asegurar que el BASA sea funcional en el
corto plazo y se promueva la forma de los acuerdos pendientes con la Unión Europea
y Canadá.
Actualmente se desarrolla una estrategia general liderada por la DGAC en el que
participan ProMéxico, la Federación Mexicana de la Industria Aeroespacial (FEMIA) y
la Secretaría de Hacienda y Crédito Público (SHCP) para el establecimiento de
laboratorios de pruebas y un modelo de Alianzas Público – Privadas (APP) para el
manejo de algunos aspectos operativos del proceso de certificación.
Por otra parte, se deberá trabajar en el establecimiento de acuerdos de seguridad
que le permitan a México la importación de maquinaria de ultra precisión, pues
actualmente está prohibido. La siguiente fase del sector, requiere la utilización de
este tipo de equipamiento y la Secretaría de la Defensa Nacional debe garantizar que
su utilización es para fines pacíficos. Este punto puede ser negociado dentro del
marco del Tratado para la Seguridad y Prosperidad de Norteamérica.
1.3 Plataformas tecnológicas En una primera fase de desarrollo tecnológico y dado el grado de madurez de la
industria en México, la estrategia debe centrarse en la integración de los grupos de
Investigación y desarrollo (I+D) mexicanos a las plataformas internacionales (clústeres
aliados). La tecnología representa el centro estratégico del Mapa de Ruta
Tecnológico, define las principales tendencias tecnológicas que se encuentran en
marcha, con equipos de Investigación desarrollo e innovación (I+D+i) coordinados
(por lo general a nivel internacional) tratando de resolver los principales retos y
problemas de la industria. Incorporarse a este sistema de innovación es el principal
camino para el aumento de la competitividad de un país en la nueva economía del
conocimiento. Para facilitar el análisis, en el mapa se presentan los principales
programas tecnológicos de la industria aeroespacial ordenados por línea de enfoque.
La definición de plataformas tecnológicas en nuestro país deberá considerar su
evolución en el plano mundial y desarrollar las redes de innovación con los principales
actores internacionales. La estrategia propuesta se centra en el desarrollo de las
redes con el Consortium for Research and Innovation in Aerospace in Quebec (CRIAQ)
en Canadá, Society of British Aerospace Companies (SBAC) y Aerospace Knowledge
Transfer Networks (KTN) en el Reino Unido y específicamente con el plan de
innovación de Honeywell, Industria de Turbo Propulsores (ITP), United Technologies,
Bombardier, Grupo SAFRAN y Goodrich en su primera fase (8). A continuación se
presentan algunos proyectos notables en este rubro.
15
1.3.1 Nuevos Conceptos de Investigación Aeronáutica (NACRE)
Es un proyecto europeo de 30 millones de euros dedicado principalmente a la
investigación y desarrollo de nuevas tecnologías.
El NACRE es un consorcio que integran 36 organizaciones de 13 países de Europa
(Incluyendo a Rusia).
Su principal objetivo es el de crear, desarrollar, validar e integrar nuevas tecnologías
que permitan el diseño de un nuevo concepto de aeronaves con mejoras en cuanto a
eficiencia, rendimiento ambiental, economía y confort.
Sus principales líneas de investigación son:
Sistemas de alas y control de superficies.
Diseño e integración del sistemas de plantas de energías.
Sistemas y Fuselajes de Cabinas (11).
1.3.2 Estructuras Avanzadas de Bajo Costo (ALCAS)
El proyecto es liderado por Airbus UK y la Universidad de Cranfield en cooperación
cercana con Messier-Dowty.
Su objetivo es la reducción de los costos de operación en productos aeroespaciales, a
través de la aplicación de compósitos de fibra de carbón primarios para las
estructuras de avión.
Las líneas principales de investigación de ALCAS son:
Reducción de los costos de manufactura.
Reducción de los costos de mantenimiento.
En esta plataforma y la Nueva Generación de Alas Compósito (NGWC) es posible
integrar los esfuerzos de las universidades que soportan el programa Learjet 85 de
Bombardier en México en el área de materiales compósitos. Es importante notar que
el Instituto de Investigación en Materiales de la UNAM, el Centro de Investigación y
de Estudios Avanzados (CINVESTAV), el ITESM, la Corporación Mexicana de
Investigación en Materiales (COMIMSA), el IPN y el Centro de Investigación en
Materiales Avanzados S.C. tienen grupos especializados en el tema (17).
16
1.3.3 Proyecto SCARLETT
El proyecto de Plataformas Electrónicas Escalables y Reconfigurables y Herramientas
de Definición, Validación y Demostración de una nueva generación de plataformas
electrónicas para responder a retos aeroespaciales futuros (SCARLETT) está liderado
por Thales Avionics. Su principal alcance es el desarrollo de una nueva generación de
plataformas eléctricas a través de sistemas de aviónica como:
Nuevas plataformas electrónicas de arquitectura capaces de albergar y correr
nuevas aplicaciones (incluidas altas capacidades de monitoreo de salud) con
su hardware asociado.
Plataformas con capacidad de reconfiguración para alta concentración de
funciones.
Soluciones para configuraciones robustas y seguras de administración y
administración de reconfiguración en las plataformas para nuevas
aplicaciones y funciones.
Procesos y herramientas para la validación en la introducción de nuevos
componentes tecnológicos (incluyendo costos) (23).
1.3.4 Integración Humana al Ciclo de Vida de los Sistemas de
Aviación (HILAS) El proyecto HILAS desarrollará un modelo práctico para la integración de factores
humanos a través de un ciclo de vida completa de los sistemas aéreos.
HILAS cuenta con 4 principales líneas de proyecto:
La administración e integración de factores humanos de conocimiento.
Las operaciones de vuelo relacionadas con el ambiente y rendimiento.
La evaluación de nuevas tecnologías.
El monitoreo y aseguramiento de operaciones de mantenimiento.
El proyecto está liderado por el Colegio de la Trinidad en Irlanda y está ligado a la
expectativa de la industria aeronáutica europea de reducir en un 80% los accidentes
aéreos (25).
17
1.4 Proyectos principales Unos de los principales factores críticos de éxito es la planeación adecuada de los
recursos necesarios para el cumplimiento de los objetivos; recursos que no se limitan
al plano económico, pues consideran de manera especial los recursos de talento y
educación, de soporte gubernamental y alianzas estratégicas internacionales.
1.4.1 Catálogo de Profesionales
Proyecto liderado por el Consejo Mexicano de Educación Aeroespacial (COMEA) el
cual es un organismo autónomo, no lucrativo y de carácter estrictamente académico,
que tiene como visión ser un referente para el desarrollo ordenado de las
competencias y capacidades del capital humano que requiere la industria
aeroespacial en México y, cuyo objetivo, es el de contar con un Catálogo de
Ingenierías, Maestrías y Doctorados delineados por las líneas de expertise (31).
1.4.2 Catálogo de Capacidades Tecnológicas
Proyecto liderado por CONACYT, el cual es un organismo público descentralizado del
gobierno federal mexicano dedicado a promover y estimular el desarrollo de la
ciencia y la tecnología. El CONACYT evalúa los programas de posgrado que ofrecen las
instituciones de educación superior y, aquellos que cumplen con altos criterios de
calidad son considerados como parte del Padrón de Excelencia del Posgrado. En este
sentido, su objetivo es el de ofrecer servicios profesionales de laboratorio necesarios
para la industria aeroespacial (32).
1.4.3 Certificación de Calidad de Programas de la Industria
Aeroespacial Liderado por COMEA en colaboración con el Consejo de Acreditación de la Enseñanza
de Ingeniería (CACEI), este proyecto tiene como objetivo certificar los programas de
educación formativa (31).
Por otro lado, el Programa de las Naciones Unidas para el Desarrollo (PNUD), con
apoyo del Fondo para las pequeñas y medianas empresas (PyME) de la Secretaría de
Economía (SE), ofrecerá un programa de subsidio económico de hasta 70% a las
pequeñas y medianas empresas que deseen obtener una certificación bajo la norma
aeroespacial.
El Instituto de Estándares Británicos (BSI) anunció la puesta en marcha de un acuerdo
de trabajo conjunto con México con recursos del Fondo PyME de la SE, y a través del
18
Programa para la Certificación de Procesos Especiales para Impulsar la Integración de
Pequeñas y Medianas Empresas en el Sector Aeroespacial, ofrecerá un esquema de
apoyo económico a las empresas mexicanas que durante 2013 deseen certificarse
bajo sistemas de gestión aplicables a la industria aeroespacial (33).
1.4.4 Diseño y Fabricación de Turbinas de Baja Presión para
Motores de Aeronaves Proyecto liderado por ITR en México. Su principal objetivo es desarrollar la capacidad
completa de diseñar, desarrollar, certificar, fabricar y soportar turbinas de baja
presión en México por medio de un programa compartido con un fabricante de
equipamiento Original (OEM) de motores de aviación.
Las principales líneas de acción para el proyecto son:
o Desarrollo de ITR para todas las capacidades requeridas.
o Desarrollo de tecnologías.
o Desarrollo de Cadena de suministro de proveedores.
o Desarrollo de los procesos de producción requeridos.
o Certificación para el diseño y producción de la turbina de baja presión (34).
1.4.5 Proyecto de Crecimiento de Planta de Goodrich En este proyecto se destaca la importancia del trabajo del clúster aeroespacial en el
que Goodrich participa junto con otras compañías, entidades de gobierno e
instituciones empresariales y educativas para crear sinergias que permitan
incrementar los recursos de capacitación y entrenamiento para diferentes sistemas y
procesos de certificación; así como para incrementar las capacidades técnicas que les
permitan mayor competitividad (35).
1.4.5.1 Guaymas
Los productos que llenarán la nueva nave en Guaymas se pueden dividir en dos
categorías:
Álabes de turbina: Éstos, serán transferidos de las dos plantas que la división
de Engine Components tiene en Arizona, Estados Unidos. Una vez completo el
proyecto, la operación de Guaymas se convertirá en el centro de excelencia
19
para la fabricación de alabes de turbina. Así tendremos la oportunidad de
desarrollar en México nuevos métodos y tecnologías para la manufactura de
estos componentes.
Componentes maquinados para inyectores: Éstos, se transferirán de dos
plantas de la división de Engine Components, que la empresa tiene en Iowa,
Estados Unidos. Estos procesos son completamente nuevos para la operación
de Guaymas. Los procesos que este proyecto de crecimiento traerá al país
incluyen pruebas no destructivas por rayos-X digitales, soldadura láser y
formado de súper plástico entre otros.
1.4.5.2 Mexicali
El proyecto de manufactura de Mexicali actualmente se promueve dentro de
Goodrich como un potencial campus industrial aeroespacial que albergará a otras de
sus divisiones.
Goodrich Aerospace de México (GAM) se enfocará primordialmente en la producción
de componentes aeroespaciales para programas en los que trabaja y en los que
planea trabajar a futuro, además realizará trabajo de ensamble.
GAM utilizará los procesos de súper plásticos y “formado en caliente” para
manufacturar componentes de titanio. El titanio es un material en el cual México aún
tiene poca experiencia, por lo cual Goodrich tiene el privilegio de ser pionero en el
tratamiento de ese material. Los sistemas nacelles que se estarán manufacturando en
Mexicali serán para los nuevos 787 de Boeing y el A350 de Airbus (34).
20
1.5 Integración de la industria
Una tendencia bien definida en el sector aeroespacial es la necesidad de reducir
proveedores directos a las empresas de ensamble y el desarrollo de alianzas de
manufactura.
Inicialmente las empresas mexicanas del sector se encontraban principalmente en la
base de la cadena de suministro aeroespacial, lugar que tiene el menor índice de valor
agregado del sector: $40,000 – $60,000 USD/empleado, comparativamente a los
$350,000 USD por empleado para las empresas en la parte superior (OEM´s y Tier 1).
Actualmente el promedio de la industria exporta poco más de $110,000 USD por
empleado lo que muestra una evolución general hacia el grupo de Tier 3. El desarrollo
de empresas integradoras y la innovación tendrán un efecto sobre el nivel de
complejidad y valor agregado a los productos nacionales.
Una mayor integración, trae consigo mayor valor agregado y la adquisición asociada
de conocimientos y tecnología que favorecen la evolución del sector. Los requisitos
previos para esta evolución se concentran no sólo en las capacidades tecnológicas y
de manufactura, las diversas empresas multinacionales; sino que reiteran la
necesidad de un cambio en la cultura empresarial mexicana hacia prácticas de clase
mundial.
Podemos observar que algunas instituciones académicas han desarrollado programas
que podrían favorecer el desarrollo de prácticas y metodologías de clase mundial en
el sector aeroespacial; tal es el caso de las maestrías en dirección para la manufactura
del Tecnológico de Monterrey y otras afines que incluyen formación en Six Sigma,
cadenas de valor, manufactura esbelta, etc. Se recomienda que los directivos del
sector y la academia desarrollen programas educativos y de capacitación en estas y
otras líneas de enfoque, además de, favorecer encuentros empresariales para el
intercambio de experiencias con empresas extranjeras exitosas.
Para favorecer esta evolución, también es importante desarrollar las capacidades de
diseño nacionales y la conexión de estas capacidades con la red internacional de
innovación del sector. La internacionalización de la industria es la mejor escuela de
metodologías y prácticas para el sector.
En 2008 por parte de TechBA Montreal se organizó un recorrido por diversas
empresas del sector, principalmente PyMEs, para crear un programa de desarrollo de
proveedores e internacionalización de empresas mexicanas del sector. Este recorrido
fue dirigido por Lionel Leveillé, quien fue presidente de Raytheon Canadá y
Vicepresidente de Héroux Devtek y Bombardier. Es de notar el énfasis de los
21
resultados y recomendaciones sobre cuestiones de cultura empresarial, metodologías
de calidad y certificación, más allá de la brecha tecnológica (8).
1.6 Desarrollo de proveedores y cadenas de suministro
aeroespacial La integración vertical de la cadena de suministro (desarrollo de proveedores) es tal
vez, el principal reto en el corto y mediano plazo del sector. La premisa de
transformación de proveedores y metodologías de los sectores automotriz y
electrónico si bien es correcta, no es directa, ni sencilla.
Por una parte, las corridas de producción del sector aeroespacial son
significativamente menores, lo que obliga a sistemas de producción más flexible y a
prorratear los costos de herramentales en una menor cantidad de piezas. Esto
impone un reto importante, pues los empresarios mexicanos, acostumbrados a los
pedidos provenientes de los sectores automotriz y electrónico, tienen sus plantas y
procesos de manufactura y hasta sus métodos de cotización orientadas a grandes
corridas de producción.
Además, es de considerarse que la industria aeroespacial, con normas de seguridad
más estrictas, requiere la certificación de procesos y plantas conforme a estándares
especiales. Si bien muchos proveedores mexicanos ya cuentan con certificaciones ISO
y otras especiales de OEM’s, ahora deben alinearse a nuevos modelos como el
AS9000 y NadCap con sus costos asociados.
El uso de metales especiales como el titanio, aluminio-litio y cerámicos de alta
resistencia también obligarán a los empresarios a procesos de adecuación tecnológica
y de plataformas de manufactura. Es por ello, necesaria la creación de programas de
transición para el sector, con apoyos para la transferencia de “knowhow” y desarrollo
de capacidades (capacitación, certificación y administración de empresas de
manufactura avanzada).
Es importante considerar que en la Secretaría de Economía ya se trabaja con apoyo
del Programa de las Naciones Unidas para el Desarrollo (PNUD) en un modelo de
desarrollo de proveedores que cuenta con una metodología probada para México.
Será importante crear un programa especial para el sector considerando al PNUD y a
los programas desarrollados actualmente en nuestro país por Bombardier, Safran,
Rolls-Royce, ITR y Goodrich; así como los programas estatales que han resultado
exitosos como en San Luis Potosí o el desarrollado en Querétaro con el ITESM en el
que un conjunto de empresas ya está listo para certificarse en AS9000. Si estos
22
programas se establecen de forma colaborativa, pueden conseguirse economías de
escala, al menos para los procesos de certificación y capacitación.
Por otra parte, el desarrollo de proveedores deberá considerar que hay huecos
importantes en la cadena de suministro aeroespacial que no contarán con
capacidades de otros sectores a convertir y que deberán partir de la creación de
empresas nacionales en estos nichos o de la atracción de empresas de otras regiones
y desarrollar posibles alianzas estratégicas con empresas mexicanas.
Con relación a lo anterior, se presenta la tabla número 1 el cual se muestra el
catálogo de capacidades de las principales regiones de la industria aeroespacial en
México, esta misma muestra los huecos importantes de las cadena de suministro de
las principales regiones de manufactura aeroespacial en México (8).
23
Estados
Capacidades Baja California
Chihuahua Ciudad de México
Querétaro Nuevo León
Sonora
Componentes de motores 3 1 2 3 5 8
Manufactura de componentes de fuselaje
2 1 1 4 3 10
Ensamble y construcción de aeroplano 0 1 1 0 1 3
Fabricación de motores 0 0 0 0 1 2
Servicios de aviación 0 0 0 0 2 0
Aviónica 3 0 0 2 2 0
Fundiciones 0 0 0 1 0 0
Componentes y sub ensambles de motor y Aeroestructuras
3 6 1 11 5 9
Materiales compósitos 0 2 1 5 1 1
Sistemas de cómputo y software 0 0 0 3 0 0
Maquinados y programación CNC, ingeniería de precisión
8 1 1 6 5 21
Trabajo en placas de metal, forja 2 4 0 6 2 2
Pegamentos, capas de protección y pintura
6 0 1 6 1 1
Investigación, diseño y desarrollo 3 2 0 5 2 3
Eléctrico & electrónico: Paneles, componentes, equipo y sistemas de poder
16 6 1 3 3 14
Cables eléctricos, arneses y piezas 6 4 1 4 1 15
Equipamiento de interiores 1 1 1 0 1 1
Abastecimiento de materias primas / Piezas para manufactura
9 0 0 5 1 2
Reparación y mantenimiento 2 0 5 4 7 2
Equipo de seguridad y supervivencia 1 3 0 0 0 1
Pruebas y certificación 1 0 0 3 1 1
Herramentales 1 0 0 2 1 0
Equipo de soporte en tierra 0 0 0 0 0 1
Procesos y tratamientos 2 0 0 8 2 3
Finanzas, consultoría y logística 2 1 3 1 3 1
Armamento 0 0 2 0 0 0
Sistemas y equipos automáticos de vuelo 0 0 0 0 0 0
Equipo y sistemas de comunicación 1 1 0 1 0 1
Equipo y sistemas de control 1 0 0 1 0 1
Entrenamiento de vuelo 0 1 1 0 0 0
Capacitación, universidades, colegios e institutos
1 0 2 2 2 0
Combustible y sistemas de combustible/combustión
1 0 0 0 0 1
Sistemas hidráulicos 5 0 0 1 0 1
Sistemas de datos, grabación y de ubicación
1 0 0 0 0 0
Tren de aterrizaje 0 0 1 2 2 1
Sistemas espaciales 0 0 0 0 0 0
Componentes / partes estándar 1 0 0 0 6 0
Ventanas 0 0 0 0 0 0
Alas 0 0 0 0 0 0
Equipo de cocina 1 1 0 0 0 0
Sujetadores 0 1 0 0 1 2
Textiles 0 0 0 0 0 0
Recurso humano 0 0 0 0 0 0
Soluciones de almacenamiento 0 1 0 0 1 0
ISO 9000:2000 0 1 0 3 0 3
Tabla 1. Capacidades por estado del sector aeroespacial. Fuente: Secretaría de Hacienda y Crédito Público. Cinta de aduanas. 2008
24
A partir del análisis de la matriz anterior, se pueden identificar diversos nichos de
especialidad por región y subsector:
Corredor pacífico
• Baja California: Eléctrico Electrónico
• Chihuahua: Eléctrico electrónico y componente de motor.
• Sonora: Maquinados CNC e ingeniería de precisión, Eléctrico electrónico y Equipo y
sistemas de poder. Se puede notar la especialización del corredor en sistemas
eléctrico-electrónicos y de poder; de esta forma se sustenta un primer nicho de
especialidad regional en aviónica.
Corredor Centro-Norte
• Ciudad de México: Mantenimiento y Reparación.
• Querétaro: Componentes y sub ensambles de motor y tratamientos térmicos y
superficiales.
• Nuevo León: Reparación y Mantenimiento.
Es de notarse para el corredor Centro-norte, que al incluir dos de los principales
aeropuertos del país con el flujo de aeronaves relacionado se especialicen en
actividades de reparación y mantenimiento. Para el caso específico del Clúster de
Querétaro, la manufactura de ensambles complejos de motor va también relacionada
a la capacidad de procesos de tratamientos térmicos. También es importante resaltar
la especialización que está adquiriendo el Clúster de Querétaro en materiales
compósitos y la existencia de empresas desarrolladoras de software especializado
para el sector.
Las principales carencias de ambos corredores se pueden identificar en la relativa
inexistencia de proveedores de herramentales, lo que lleva a una importación neta de
casi 2000 millones de dólares en herramentales y moldes especializados para la
industria de manufactura nacional.
Otra oportunidad para desarrollar encadenamientos productivos, que además
evitaría costos logísticos altos, es el desarrollo de proveedores en fundición
especializada y tratamientos superficiales. Esto evitaría la práctica común de traer
materias primas y bienes pre-manufacturados que reciben procesos de mediano valor
agregado. En algunos casos, estos componentes deben enviarse al exterior para
recibir tratamientos especiales y regresar a México a ensamblarse.
25
Respecto a las certificaciones especializadas del sector aeroespacial, éstas son escasas
y se concentran en las regiones de Baja California, Querétaro y Sonora; por lo que el
Programa de Desarrollo de Proveedores propuesto debe centrarse en la certificación
de sistemas de calidad y procesos conforme a los estándares de la industria.
De forma global, en la tabla 2 se muestran los diferentes nichos de especialidad del
sector de tercer nivel (Tier 3) y las áreas que carecen de proveedores nacionales o su
desarrollo es todavía incipiente para el sector aeroespacial (36).
Proveedores de partes y componentes
Servicios
Componentes de motores
Ensamblado y construcción de
aeroplano
Combustible y sistema de combustible /
combustión
Maquinado y programación CNC ingeniería de precisión
Manufactura de componentes de fuselaje
Fabricación de motores
Sistemas hidráulicos
Investigación, diseño y desarrollo
Componentes y
subensambles de motor y aeroestructura
Aviónica
Tren de aterrizaje
Procesos y tratamientos
Eléctrico, electrónico: Paneles, componentes y
equipo
Fundiciones
Componentes / Parte estándar
Finanzas, consultoría y logística
Cables eléctricos, arneses y
piezas Equipamiento de
interiores Equipos de cocina
Servicios de aviación: Sistemas
de cómputo y software
Materiales compósitos
Equipo de seguridad y
supervivencia Sujetadores
Entrenamiento de vuelo
Trabajo en placas de metal y forja
Herramentales
Textiles
Capacitación, universidades, colegios e institutos
Pegamento, capas de protección y pintura
Equipo de soporte en tierra
Recursos humanos
Sistemas de datos, grabación y de ubicación
Abastecimiento de materias primas / piezas
manufactura
Armamento
Sistemas espaciales
CAD
Equipo y sistemas de comunicación
Sistemas y equipo automático de vuelo
Proveedores de partes y componentes
Soluciones de almacenamiento
Equipo y sistemas de
control Ventanas
Alas
Alta capacidad
Capacidad media
Poca capacidad
Capacidad nula
Tabla 2. Nichos de especialidad del sector de tercer nivel. Fuente: Secretaría de Hacienda y Crédito Público. Cinta de aduanas. 2008
26
Algunos de estos nichos ya tienen proveedores para otros sectores que requieren
conversión y adecuación, pero algunos de ellos no se han desarrollado del todo en
nuestro país. De un estudio desarrollado por el CEDIA del ITESM, se obtuvieron los
siguientes resultados respecto a las necesidades de proveeduría de las principales
empresas del sector:
La gran mayoría de las materias primas y componentes se obtienen del
extranjero, aunque en algunos casos a través de empresas mexicanas
(representantes, distribuidores, etc.).
Las principales razones son la falta de certificaciones, de calidad y de
volumen. Más de un tercio considera que simplemente “no existen” los
proveedores que requieren.
Solamente algunos materiales auxiliares son de origen nacional (Ejemplo:
gases, resinas, químicos, empaques, etc.).
La gran mayoría de las empresas encuestadas (80%) desearía poder contar
con insumos locales, principalmente para operaciones como maquinados,
acabados y soldadura y para materiales como aluminio, fibra de vidrio y fibra
de carbón (según número de empresas).
27
C A P Í T U L O I I : I n g e n i e r í a d e
s o f t w a r e a p l i c a d a a l S I P A E P
El presente capítulo muestra una pequeña introducción acerca de los tópicos de
ingeniería de software utilizados en el desarrollo del sistema SIPAEP, así como los
conceptos fundamentales en los que está basado dicho sistema.
2.1 Ingeniería de software La ingeniería de software es una disciplina de la ingeniería que concierne a todos los
aspectos de la producción de software; los ingenieros de software adoptan un
enfoque sistemático para llevar a cabo su trabajo y utilizan las herramientas y
técnicas necesarias para resolver el problema planteado, de acuerdo a las
restricciones de desarrollo y recursos disponibles. La ingeniería de sistemas concierne
a todos los aspectos del desarrollo de sistemas basados en cómputo, que incluyen
hardware, software y el proceso de ingeniería. La ingeniería de software es solo parte
de este proceso (37).
2.1.1 Proceso del software Un proceso del software es un conjunto de actividades y resultados asociados que
producen un producto de software. Estas actividades son llevadas a cabo por los
ingenieros de software. Existen cuatro actividades fundamentales de procesos que
son comunes para todos los procesos del software. Estas actividades son:
1. Especificación del software donde los clientes e ingenieros definen el
software a producir y las restricciones sobre su operación.
2. Desarrollo del software donde el software se diseña y programa.
3. Validación del software donde el software se prueba para asegurar que es lo
que el cliente quiere.
4. Evolución del software donde el software se modifica para adaptarlo a los
cambios requeridos por el cliente y el mercado.
Diferentes tipos de sistemas necesitan diferentes procesos de desarrollo. Por lo tanto,
estas actividades genéricas pueden organizarse de diferentes formas y describirse en
diferentes niveles de detalle para diferentes tipos de software. Sin embargo, el uso de
28
un proceso inadecuado del software puede reducir la calidad o utilidad del producto
de software que se va a desarrollar y/o incrementar los costos de desarrollo (38).
2.1.2 Modelo de procesos del software Un modelo de procesos del software es una descripción simplificada de un proceso
del software que presenta una visión de ese proceso. Estos modelos pueden incluir
actividades que son parte de los procesos y productos de software y el papel de las
personas involucradas en la ingeniería del software. Algunos ejemplos de estos tipos
de modelos que se pueden producir son:
1. Un modelo de flujo de trabajo. Muestra la secuencia de actividades en el
proceso junto con sus entradas, salidas y dependencias. Las actividades en
este modelo representan acciones humanas.
2. Un modelo de flujo de datos o de actividad. Representa el proceso como un
conjunto de actividades, cada una de las cuales realiza alguna transformación
en los datos. Muestra cómo la entrada en el proceso, tal como una
especificación, se transforma en una salida, tal como un diseño. Pueden
representar transformaciones llevadas a cabo por las personas o por las
computadoras.
3. Un modelo de rol/acción. Representa los roles de las personas involucradas
en el proceso del software y las actividades de las que son responsables.
La mayor parte de los modelos de procesos del software se basan en una de los tres
modelos generales o paradigmas de desarrollo de software:
1. El enfoque en cascada. Considera las actividades anteriores y las representa
como fases de procesos separados, tales como la especificación de
requerimientos, el diseño del software, la implementación, las pruebas, etc.
Después de que cada etapa queda definida se firma y el desarrollo continúa
con la siguiente etapa.
2. Desarrollo iterativo. Este enfoque entrelaza las actividades de especificación,
desarrollo y validación. Un sistema inicial se desarrolla rápidamente a partir
de especificaciones muy abstractas. Éste se refina basándose en las peticiones
del cliente para producir un sistema que satisfaga las necesidades de dicho
cliente. El sistema puede entonces ser entregado. De forma alternativa, se
puede re implementar utilizando un enfoque más estructurado para producir
un sistema más sólido y mantenible.
29
3. Ingeniería del software basada en componentes (CBSE). Esta técnica supone
que las partes del sistema existen. El proceso de desarrollo del sistema se
enfoca en la integración de estas partes más que desarrollarlas desde el
principio (38).
2.1.3 Marco de trabajo para el proceso Un marco de trabajo establece la base para un proceso de software completo al
identificar un número pequeño de actividades del marco de trabajo aplicables a todos
los proyectos de software, sin importar su tamaño o complejidad. Además, el marco
de trabajo del proceso abarca un conjunto de actividades sombrilla aplicable a lo
largo del proceso del software.
30
Figura 6. Modelo de actividades sombrilla. Fuente: Pressman, Roger S. Ingeniería del software. Un enfoque práctico. 2005
31
Como se muestra en la figura 6, cada actividad dentro del marco contiene un
conjunto de acciones de ingeniería del software, es decir, una serie de tareas
relacionadas que produce un producto del trabajo en la ingeniería del software. Cada
acción la forman tareas de trabajo individuales que completan alguna parte del
trabajo implicado por la acción.
El siguiente marco de trabajo genérico del proceso se puede aplicar en la inmensa
mayoría de los proyectos de software:
Comunicación. Esta actividad del marco de trabajo implica una intensa
colaboración y comunicación con los clientes; además, abarca la investigación
de requisitos y otras actividades relacionadas.
Planeación. Esta actividad establece un plan para el trabajo de la ingeniería
del software. Describe las tareas técnicas que deben realizarse, los riesgos
probables, los recursos que serán requeridos, los productos del trabajo que
han de producirse y un programa de trabajo.
Modelado. Esta actividad abarca la creación de modelos que permiten al
desarrollador y al cliente entender mejor los requisitos del software y el
diseño que logrará satisfacerlos.
Construcción. Esta actividad combina la generación del código y la realización
de pruebas necesarias para descubrir errores en el código.
Despliegue. El software (como una entidad completa o un incremento
completado de manera parcial) se entrega al cliente, quién evalúa el producto
recibido y proporciona información basada en su evaluación.
Estas cinco actividades genéricas del marco de trabajo son útiles durante el desarrollo
de programas pequeños, la creación de grandes aplicaciones en la red, y en la
ingeniería de sistemas basados en computadoras grandes y complejas. Los detalles
del proceso del software serán muy diferentes en cada caso, pero las actividades
dentro del marco permanecerán iguales (39).
32
2.2 El modelo incremental iterativo El modelo incremental iterativo combina elementos del modelo en cascada aplicado
en forma iterativa.
Figura 7. Modelo incremental iterativo. Fuente: Pressman, Roger S. Ingeniería del software. Un enfoque práctico. 2005
Como se muestra en la figura 7, el modelo incremental aplica secuencias lineales de
manera escalonada conforme avanza el tiempo en el calendario. Cada secuencia
lineal produce “incrementos” del software. Se debe tener en cuenta que el flujo del
proceso de cualquier incremento puede incorporar el paradigma de construcción de
prototipos.
A menudo, al utilizar un modelo incremental el primer incremento es un producto
esencial. Es decir, se incorporan los requisitos básicos, pero muchas características
suplementarias (algunas conocidas, otras no) no se incorporan. El producto esencial
queda en manos del cliente (o se somete a una evaluación detallada). Como resultado
de la evaluación se desarrolla un plan para el incremento siguiente. El plan afronta la
modificación del producto esencial con el fin de satisfacer de mejor manera las
necesidades del cliente y la entrega de características y funcionalidades adicionales.
Este proceso se repite después de la entrega de cada incremento mientras no se haya
elaborado el producto completo.
33
El modelo de proceso incremental, al igual que la construcción de prototipos y otros
enfoques evolutivos, es iterativo por naturaleza. Pero a diferencia de la construcción
de prototipos, el modelo incremental se enfoca en la entrega de un producto
operacional con cada incremento. Los primeros incrementos son versiones
“incompletas” del producto final, pero proporcionan al usuario la funcionalidad que
necesita y una plataforma para evaluarlo.
El desarrollo incremental es útil sobre todo cuando el personal necesario para una
implementación completa no está disponible. Los primeros incrementos se pueden
implementar con menos gente. Si el producto esencial es bien recibido se agrega (si
se requiere) más personal para implementar el incremento siguiente. Además, los
incrementos se pueden planear para manejar los riesgos técnicos (39).
2.3 Arquitectura del software Shaw y Garlan (22) comentan que desde la primera vez que un programa se dividió en
módulos, los sistemas de software han tenido arquitecturas y los programadores han
sido responsables de las interacciones entre los módulos y las propiedades globales
del ensamblaje. Históricamente, las arquitecturas han estado implícitas. Los buenos
desarrolladores de software han adoptado con frecuencia uno o varios patrones
arquitectónicos como estrategia para la organización del sistema, pero los emplean
de manera informal y no tienen medios para hacerlos explícitos en el sistema
resultante.
Hoy, la arquitectura del software efectiva y su representación y diseño explícitos se
han vuelto temas dominantes en la ingeniería del software.
La arquitectura del software de un programa o sistema de cómputo es la estructura o
las estructuras del sistema, que incluyen los componentes del software, las
propiedades visibles externamente de esos componentes y las relaciones entre ellos.
Esta definición destaca el papel de los componentes del software en cualquier
representación arquitectónica. En el contexto del diseño arquitectónico, un
componente de software es algo tan simple como un módulo del programa o una
clase orientada a objetos aunque esto es extensible a otros ámbitos.
Bass (23) identifican tres razones clave por las cuales la arquitectura del software es
importante:
Las representaciones de la arquitectura del software permiten la
comunicación entre todas las partes (participantes) interesadas en el
desarrollo de un sistema de cómputo.
34
La arquitectura destaca las decisiones iniciales relacionadas con el diseño que
tendrán un impacto profundo en todo el trabajo de la ingeniería del software
que le sigue y, lo que también resulta importante, en el éxito final del sistema
como entidad operacional.
La arquitectura constituye un modelo relativamente pequeño e
intelectualmente comprensible de cómo está estructurado el sistema y cómo
trabajan juntos sus componentes.
El modelo de diseño arquitectónico y los patrones arquitectónicos que contiene son
transferibles. Es decir, los estilos y patrones arquitectónicos se aplican al diseño de
otros sistemas y representan un conjunto de abstracciones que permiten a los
ingenieros de software describir la arquitectura de maneras predecibles.
2.3.1 Diseño de datos La acción de diseño de datos traduce los objetos de datos definidos como parte del
modelo de análisis en estructuras globales al nivel de componentes de software y,
cuando es necesario, una arquitectura de base de datos al nivel de aplicación. En
algunas situaciones debe diseñarse y construirse una base de datos específicamente
para un nuevo sistema. Sin embargo, en otras, se emplean una o más bases de datos
existentes.
2.3.1.1 Diseño de datos al nivel arquitectónico
Hoy los negocios grandes y pequeños están inundados de datos. No resulta poco
común que incluso un negocio de tamaño moderado tenga docenas de bases de
datos que sirven a muchas aplicaciones que abarcan cientos de gigabytes de datos. El
reto consiste en extraer información útil de este entorno de datos, sobre todo cuando
la información deseada tiene funcionalidad cruzada.
Para resolver este desafío, la comunidad de empresas de la tecnología de la
información ha desarrollado la técnica de minería de datos, también denominada
descubrimiento de conocimiento en bases de datos (DCBD), que recorre bases de
datos existentes con el fin de extraer información apropiada en el ámbito de los
negocios. Sin embargo la existencia de múltiples bases de datos, sus diferentes
estructuras, el grado de detalle que contienen y muchos otros factores hacen que la
minería de datos resulte difícil dentro de un entorne existente de base de datos. Una
solución alterna, denominada almacén de datos agrega una capa adicional a la
arquitectura de datos.
35
Un almacén de datos es un entorno de datos independientes que no está
directamente integrado en las aplicaciones cotidianas, pero que abarca todos los
datos utilizados en un negocio (24). En cierto sentido, un almacén de datos es una base
de datos grande e independiente que tiene acceso a los datos almacenados en las
bases de datos que sirven al conjunto de aplicaciones requeridas en un negocio.
2.3.1.2 Diseño de datos al nivel de componentes
El diseño de datos al nivel de componentes se concentra en la representación de
estructuras de datos a las que se tiene acceso en forma directa mediante uno o más
componentes de software. Wasserman (25) ha propuesto un conjunto de principios
que se emplean para especificar y diseñar estas estructuras de datos. En realidad, el
diseño de datos empieza durante la creación del modelo de análisis. Si se recuerda
que el análisis y el diseño de requisitos suelen superponerse, se considerará el
siguiente conjunto de principios para la especificación de datos:
1. Los principios del análisis sistemático aplicados a la función y el
comportamiento también deben aplicarse a los datos. También es necesario
desarrollar y revisar las representaciones del flujo de datos y el contenido,
identificar los objetos de datos, considerar organizaciones alternas de datos y
evaluar el impacto de los datos que modelan el diseño del software.
2. Deben identificarse todas las estructuras de datos y las operaciones que se
realizarán. El diseño de una estructura de datos eficiente debe tener en
cuenta las operaciones que se realizarán en la estructura de datos. Los
atributos y operaciones encapsulados dentro de una clase satisfacen este
principio.
3. Debe establecerse un mecanismo para la definición del contenido de cada
objeto de datos y usarlo para definir los datos y las operaciones que se les
aplican. Los diagramas de clase definen los elementos de datos (atributos)
contenidos dentro de una clase y el procesamiento (operaciones) que se
aplica a esos elementos de datos.
4. Las decisiones del diseño al nivel de datos deben posponerse hasta una de las
últimas etapas del proceso de diseño. Un proceso de refinación paso a paso es
aplicable al diseño de datos. Es decir, la organización general de los datos
puede definirse durante el análisis de los requisitos, refinarse durante el
trabajo de diseño de datos y especificarse de manera detallada durante el
diseño al nivel de componentes.
36
5. La representación de una estructura de datos sólo debe conocerse para los
módulos que deben usar directamente los datos que contiene tal estructura.
El concepto de ocultación de la información y el concepto relacionado del
acoplamiento proporcionan conocimientos importantes sobre la calidad de
un diseño de software.
6. Debe desarrollarse una biblioteca de estructuras de datos útiles y también las
operaciones que pueden aplicárseles. Esto se logra con una biblioteca de
clases.
7. Un diseño de software y un lenguaje de programación deben dar soporte a la
especificación y la realización de los tipos de datos abstractos. La
implementación de una sofisticada estructura de datos llega a volverse
excesivamente difícil si no existen medios para la especificación directa de la
estructura en el lenguaje de programación elegido para la implementación.
Estos principios forman una base para un enfoque de diseño de datos, al nivel de
componentes, que se integra a las actividades de análisis y diseño.
2.3.2 Estilos arquitectónicos Aunque se han creado millones de sistemas de cómputo en los últimos 50 años, la
gran mayoría puede clasificarse (26) en un número relativamente pequeño de estilos
arquitectónicos:
Arquitectura centrada en datos. Un almacén de datos se encuentra en el
centro de esta arquitectura; otros componentes tienen acceso a él y cuentan
con la opción de actualizar, agregar, eliminar o, por otra parte, modificar los
datos de ese almacén. El software cliente tiene acceso a un almacén central.
En algunos casos éste es pasivo. Es decir, el software cliente accede a los
datos independientemente de cualquier cambio hecho a los datos o las
acciones de otro software cliente. Una variación de este enfoque transforma
el depósito en un “pizarrón” que envía notificaciones al software cuando
cambian los datos de interés para el cliente. Una arquitectura centrada en
datos promueve la capacidad de integración (23). Esto significa que es posible
cambiar componentes existentes y agregar nuevos componentes cliente a la
arquitectura sin preocuparse por otros clientes. Además es posible pasar
datos entre clientes empleando el mecanismo del pizarrón (es decir, el
componente pizarrón sirve para coordinar la transferencia de información
entre clientes. Los componentes cliente ejecutan los procesos de manera
independiente.
37
Arquitectura de flujo de datos. Esta arquitectura se aplica cuando los datos
de entrada se habrán de transformar en datos de salida mediante una serie
de componentes para el cálculo o la manipulación. Una estructura de tuberías
y filtros tiene un conjunto de componentes, denominados filtros, conectados
por tuberías que transmite datos de un componente al siguiente. Cada filtro
funciona sin tomar en cuenta si los componentes tienen flujo ascendente o
descendente; está diseñado para esperar la entrada de datos con cierta forma
y producir su salida de una forma específica. Sin embargo, no es necesario
que el filtro conozca el funcionamiento de los filtros vecinos. Si el flujo de
datos degenera en una sola línea de transformaciones se denomina
procesamiento por lotes secuencial. Esta estructura acepta un procesamiento
por lotes de datos y luego aplica una serie de componentes secuenciales para
transformarlos.
Arquitectura de llamada y retorno. Este estilo arquitectónico permite que un
diseñador de software obtenga una estructura de programa que resulta
relativamente fácil modificar y cambiar de tamaño. En esta categoría hay dos
sub estilos (23):
o Arquitectura de programa principal/subprograma. Esta estructura de
programa clásica separa la función en una jerarquía de control donde
un programa “principal” invoca a varios componentes de programa,
que a su vez pueden invocar a otros componentes.
o Arquitectura de llamada de procedimiento remoto. Los componentes
de una arquitectura de programa principal/subprograma se
distribuyen entre varias computadores de una red.
Arquitectura orientada a objetos. Los componentes de un sistema
encapsulan los datos y las operaciones que deben aplicarse para manipular
los datos. La comunicación y coordinación entre componentes se consigue
mediante el paso de mensajes.
Arquitectura estratificada. Hay varias capas definidas; cada una de ellas
realiza operaciones que se acercan progresivamente al conjunto de
instrucciones de la máquina. En la capa externa los componentes sirven a las
operaciones de interfaz de usuario. En la capa interna los componentes sirven
como interfaz con el sistema operativo. Las capas intermedias proporcionan
servicios de utilería y de software de aplicaciones.
Estos estilos arquitectónicos sólo son un pequeño subconjunto de los que dispone el
diseñador de software. Una vez que la ingeniería de requisitos define las
características y restricciones del sistema que habrá de construirse, podrán elegirse el
38
estilo arquitectónico o la combinación de estilos que mejor combinen con las
características y restricciones. En muchos casos será apropiado más de un estilo y
podrían diseñarse y evaluarse distintas opciones.
2.4 Diseño al nivel de componentes De manera general, un componente es un bloque de construcción modular para el
software de cómputo. De manera más formal, la especificación unificada de lenguaje
de modelado OMG (27) define un componente como “una parte modular desplegable y
reemplazable de un sistema que encapsula implementación y expone un conjunto de
interfaces”.
Los componentes pueblan la arquitectura del software y, por tanto, ayudan a cumplir
con los objetivos y requisitos del sistema en construcción. Debido a que los
componentes residen en el interior de la arquitectura del software, deben
comunicarse y colaborar con otros componentes y con entidades que existen fuera de
los límites del software.
En el contexto de la ingeniería del software orientada a objetos, un componente
contiene un conjunto de clases que colaboran entre sí. Cada clase de un componente
se ha elaborado completamente para incluir todos los atributos y las operaciones
relevantes para su implementación. Como parte de la elaboración del diseño,
también deben definirse todas las interfaces (mensajes) que permiten que las clases
se comuniquen y colaboren con otras clases de diseño. Para lograrlo, el diseñador
empieza con el modelo de análisis y elabora clases de análisis y clases de
infraestructura.
2.4.1 Cohesión En el contexto del diseño al nivel de componentes para sistemas orientados a objetos,
la cohesión implica que un componente o una clase sólo encapsula atributos y
operaciones relacionadas estrechamente entre sí y con la clase del propio
componente. Lethbridge y Laganiére (28) definen varios tipos diferentes de cohesión:
Funcional. Exhibido principalmente para operaciones, este grado de cohesión
se presenta cuando un módulo realiza un solo cálculo y luego devuelve un
resultado.
De capa. Exhibido para paquetes, componentes y clases, este tipo de
cohesión ocurre cuando una capa superior tiene acceso a los servicios de una
inferior, pero ésta no tiene acceso a aquélla.
39
De comunicación. Todas las operaciones con acceso a los mismo datos se
definen dentro de una clase. En general, esa clase sólo se concentra en los
datos en cuestión, accesándolos y almacenándolos.
Resulta relativamente fácil implementar, probar y mantener las clases y los
componentes que muestran cohesión funcional, de capa y de comunicación. El
diseñador debe luchar por alcanzar estos grados de cohesión, Sin embargo, hay
muchos casos en que se encuentra los siguientes niveles inferiores de cohesión:
Secuencial. Los componentes o las operaciones están agrupados de manera
que el primero permita la entrada al siguiente, y así sucesivamente. El
objetivo es implementar una secuencia de operaciones.
Procedimental. Los componentes o las operaciones están agrupados de
manera que permiten la invocación de uno inmediatamente después de que
se invoque el anterior, aunque no se hayan pasado datos entre ellos.
Temporal. Las operaciones que se realizan reflejan un comportamiento o
estado específico, como una operación que se realiza al principio o todas las
operaciones realizadas cuando se detecta un error.
Utilitaria. Se han agrupado componentes, clases u operaciones que existen
dentro de la misma categoría, pero que no tienen otra relación.
Estos grados de cohesión son menos deseables y deben evitarse cuando existen otras
opciones de diseño. Sin embargo, es importante tomar en cuenta que a veces los
temas pragmáticos de diseño e implementación obligan al diseñador a optar por los
grados inferiores de cohesión.
2.4.2 Acoplamiento En las secciones anteriores se observó que la comunicación y la colaboración son
elementos esenciales de cualquier sistema orientado a objetos, Sin embargo, hay una
dificultad en esta importante característica. A medida que aumenta la cantidad de
comunicación y colaboración, también aumenta la complejidad del sistema. Y a
medida que ésta aumenta, la dificultad de implementar, probar y mantener el
software también lo hace.
El acoplamiento es una medida cualitativa del grado al que las clases se conectan
entre sí. A medida que las clases se vuelven más interdependientes, el acoplamiento
aumenta, Un objetivo importante en el diseño al nivel de componentes consiste en
mantener el acoplamiento lo más bajo posible (21).
40
El acoplamiento de clase se manifiesta de varias maneras. Lethbridge y Laganiére (28)
definen las siguientes categorías de acoplamiento:
Acoplamiento del contenido. Ocurre cuando un componente “modifica
secretamente datos internos de otro” (28). Esto viola la ocultación de la
información, que es un concepto básico del diseño.
Acoplamiento común. Ocurre cuando varios componentes usan una variable
global. Aunque esto es necesario en algunas ocasiones, el acoplamiento
común puede llevar a la propagación incontrolable de errores y a efectos
colaterales imprevisibles cuando se hacen cambios.
Acoplamiento de control. Se presenta cuando la operación A() invoca la
operación B() y pasa una marca de control a B. La marca de control “dirige”
entonces el flujo lógico dentro de B. El problema con esta forma de
acoplamiento es que un cambio no relacionado en B puede causar la
necesidad de cambiar el significado de la marca de control que pasa A. Si esto
se omite, se presentará un error.
Acoplamiento de estampa. Ocurre cuento ClaseB se declara como tipo para
un argumento de una operación de ClaseA. Debido a que ClaseB ahora es
parte de la definición de ClaseA, la modificación del sistema se vuelve más
compleja.
Acoplamiento de datos. Ocurre cuando las operaciones pasan cadenas largas
de argumentos de datos. El “ancho de banda” de la comunicación entre clases
y componentes crece y la complejidad de la interfaz aumenta. La prueba y el
mantenimiento son más difíciles.
Acoplamiento de llamada a rutina. Ocurre cuando una operación invoca a
otra. Este grado de acoplamiento es común y, a menudo, muy necesario. Sin
embargo, aumenta la conectividad de un sistema.
Acoplamiento de uso de tipo. Ocurre cuando el componente A usa un tipo de
dato definido en el componente B. Si cambia la definición del tipo, también
deben cambiar todos los componentes que usan la definición.
Acoplamiento de inclusión o importación. Ocurre cuando el componente A
importa o incluye un paquete o el contenido del componente B.
Acoplamiento externo. Ocurre cuando un componente se comunica o
colabora con componentes de infraestructura (como las funciones del
sistema de operación, la capacidad de la base de datos, las funciones de
comunicación). Aunque este tipo de acoplamiento es necesario, debe
41
limitarse a un pequeño número de componentes o clases dentro de un
sistema.
El software debe comunicarse interna y externamente. Por tanto, el acoplamiento es
fundamental. Sin embargo, el diseñador debe trabajar para reducir el acoplamiento
cada vez que sea posible y comprender las ramificaciones de un acoplamiento
elevado cuando no pueda evitarse.
2.5 Ingeniería web La ingeniería web (IWeb) aplica “sólidos principios científicos, de ingeniería y de
administración y, enfoques disciplinados y sistemáticos para el desarrollo, despliegue
y mantenimiento exitoso de sistemas y aplicaciones basados en Web de alta calidad y
disponibilidad “ (40).
En los primeros días de la World Wide Web los “sitios Web” consistían en poco más
de un conjunto de archivos de hipertexto ligados que presentaban información
mediante texto y gráficos limitados. Conforme el tiempo pasó, el HTML aumentó al
desarrollar herramientas (por ejemplo XML, Java) que permitieron a los ingenieros
Web ofrecer capacidades de cálculo junto con información. Nacieron los sistemas y
aplicaciones basados en Web (WebApps). En la actualidad, las WebApps han
evolucionado en sofisticadas herramientas de computación que no sólo proporcionan
función por sí mismas al usuario final, sino que también se han integrado con bases
de datos corporativas y aplicaciones de negocios.
Existe poco debate en cuanto a que las WebApps son diferentes a las muchas otras
categorías de software informático. Powell (23) resume las diferencias principales
cuando establece que los sistemas basados en Web “involucran una mezcla entre
publicación impresa y desarrollo de software, entre marketing e informática, entre
comunicaciones internas y relaciones externas, y entre arte y tecnología” (41). En la
gran mayoría de las WebApps se encuentran los siguientes atributos.
Intensidad de red. Una WebApp reside en una red y debe satisfacer las
necesidades de una variada comunidad de clientes. Una WebApp puede
residir en la Internet (y, en consecuencia, permitir una comunicación mundial
abierta). Alternativamente, una aplicación puede colocarse en una Intranet
(lo que implementa la comunicación en una organización) o en una Extranet
(comunicación inter-red).
Concurrencia. Un gran número de usuarios puede tener acceso a la WebApp
al mismo tiempo. En muchos casos, los patrones de uso entre los usuarios
finales variarán enormemente.
42
Carga impredecible. El número de usuarios de la WebApp puede variar en
órdenes de magnitud de día con día.
Desempeño. Si un usuario de WebApp debe esperar demasiado (para
ingresar, para procesamiento en el lado del servidor, para formateo y
despliegue en el lado del cliente) puede decidir irse a cualquier otra parte.
Disponibilidad. Aunque la expectativa de una disponibilidad del total es poco
razonable, los usuarios de las WebApps populares con frecuencia demandan
acceso sobre una base de 24 horas al día, los 365 días del año.
Gobernada por los datos. La función primordial de muchas WebApps es usar
hipermedia para presentar contenido de texto, gráficos, audio y video al
usuario final. Además, por lo general, las WebApps se utilizan para tener
acceso a información que existe en bases de datos que originalmente no eran
parte integral del ambiente basado en Web.
Sensibilidad al contenido. La calidad y naturaleza estética del contenido sigue
siendo un importante determinante de la calidad de una WebApp.
Evolución continua. A diferencia del software de aplicación convencional, que
evoluciona a lo largo de una serie de planeadas liberaciones espaciadas
cronológicamente, las aplicaciones Web evolucionan de manera continua. No
es raro que algunas WebApps se actualicen sobre una agenda minuto a
minuto, o que el contenido sea calculado de manera independiente para cada
solicitud. Algunos argumentan que la evolución continua de las WebApps
hace que el trabajo realizado sobre ellas sea análogo a la jardinería (42).
Inmediatez. Aunque la inmediatez –la apremiante necesidad de poner
software en el mercado rápidamente- es una característica de muchos
dominios de aplicación, las WebApps con frecuencia muestran un tiempo
para comercializar que puede ser cuestión de unos cuantos días o semanas.
Los ingenieros Web deben aplicar métodos de planeación, análisis, diseño,
implementación y puesta a prueba que han sido adaptados a los apretados
tiempos requeridos para el desarrollo de WebApps.
Seguridad. Puesto que las WebApps están disponibles mediante el acceso a la
red, es difícil, si no imposible, limitar la población de usuarios finales que
pueden tener acceso a la aplicación. Con la finalidad de proteger el contenido
confidencial y ofrecer modos seguros de transmisión de datos, se deben
implementar fuertes medidas de seguridad a lo largo de la infraestructura
que sustenta una WebApp y dentro de la aplicación misma.
43
Estética. Una parte innegable de la apariencia de una WebApp es su
presentación y la disposición de sus elementos. Cuando una aplicación se
diseña para comercializar o vender productos o ideas, la estética puede tener
tanto que ver con el éxito como el diseño técnico.
La IWeb se describe en tres estratos: proceso, métodos y herramientas/tecnología. El
proceso IWeb adopta el enfoque de desarrollo ágil que subraya un punto de vista de
ingeniería limpio, riguroso, que conduce a la entrega incremental del sistema que
será construido. El proceso genérico del marco de trabajo (comunicación, planeación,
modelado, construcción y despliegue) es aplicable a la IWeb. Dichas actividades del
marco de trabajo se refinan en un conjunto de tareas IWeb que se adaptan a las
necesidades de cada proyecto. A todos los proyectos IWeb se les aplica un conjunto
de actividades sombrilla similar al aplicado durante el trabajo de ingeniería del
software.
44
C A P Í T U L O I I I : A n á l i s i s y
d i s e ñ o d e l S I P A E P
En el presente capítulo se muestra el primer acercamiento con la creación del Sistema
SIPAEP; esto es, la gestión de requisitos y diseño funcional; asimismo tiene por
objetivo describir la problemática que se pretende resolver con la implementación del
SIPAEP y proponer un diseño de la funcionalidad que se requiere para dar solución a
cada uno de los requisitos previstos. Por otro lado se describe como está conformada
la dependencia del IPN encargada de la gestión de este proyecto, con lo cual se logra
una mejor comprensión de los requisitos que debe cubrir el SIPAEP.
3.1 Planteamiento del problema El desarrollo del SIPAEP tiene como principal objetivo resolver una problemática que
surge a partir de la creación del Programa Aeroespacial Politécnico la cual plantea la
necesidad de que el IPN cuente con un inventario de recursos humanos, materiales y
de infraestructura capaces de solventar las necesidades de los distintos proyectos que
se puedan originar a partir de la participación del instituto en el ámbito aeroespacial.
El contar con un inventario de recursos bien definido facilitaría la toma de decisiones
por parte de las personas encargadas de la gestión de los proyectos que se originen.
La necesidad planteada será satisfecha por medio de la aplicación de encuestas
dentro de todo el IPN, dirigidas a investigadores, docentes, directivos y todo aquel
miembro de la comunidad que esté interesado en ser partícipe de algún proyecto del
PAEP. Dado que la aplicación de cuestionarios de manera masiva en toda la
comunidad politécnica y la posterior clasificación de la información recabada
resultaría exhaustiva y costosa en tiempo y recursos se plantea emplear un sistema
web que permita la aplicación de las encuestas y la clasificación de la información
obtenida de manera automática.
Las encuestas aplicadas por medio del sistema contendrán preguntas claves que
determinarán el perfil del encuestado y permitirán una correcta clasificación de la
información, basado en la información proporcionada por el usuario.
La creación de un sistema de este tipo otorgará a los directivos del PAEP una
herramienta valiosa para la toma de decisiones, asignación de recursos y
estimaciones preliminares de proyectos, en primera instancia propios del IPN, pero
aplicable también a proyectos colaborativos entre distintos organismos o
instituciones involucradas en temas aeroespaciales.
45
A continuación se presenta la tabla 3 la cual muestra la comparativa de los beneficios
esperados de la implementación del SIPAEP contra el realizar las actividades de
aplicación de encuestas y clasificación de la información de manera manual.
Tabla 3. Ventajas de la implementación del SIPAEP
3.2 El Centro de Desarrollo Aeroespacial (CDA) Este centro se ha integrado con el propósito de compartir información sobre las ideas
básicas que animan el trabajo de esta unidad académica y estimular la colaboración
de la comunidad interesada en las tareas por realizar alrededor del ámbito
Aeroespacial.
El Politécnico tiene antecedentes de haber participado en las acciones ligadas al inicio
de las actividades espaciales en el país; en materia Aeronáutica fue fundador de la
carrera profesional y ha tenido parte activa en las acciones que llevaron a la actual
condición de interés en materia espacial en México.
Implementación del SIPAEP
Operación de forma manual
- Son necesarios encuestadores.
- La información se encuentra dispersa.
- La clasificación de la información es más tardada.
- Las encuestas deben ser consolidadas y/o capturadas
para su utilización.
- Fácil acceso a la información recopilada.
- Actualización de la información en tiempo real.
- Se evita la necesidad de encuestadores.
- Las encuestas se pueden realizar en cualquier lugar que cuente con acceso a Internet.
46
La intervención en esta temática se fundamenta en el cumplimiento de sus propósitos
de creación y en lo previsto en su Ley Orgánica, instrumentos que dirigen su acción al
dominio de las disciplinas tecnológicas. Se entiende que lo relativo al tema
aeroespacial constituye un sistema complejo, cuyos resultados tienen efectos
benéficos en distintos ámbitos de la vida económica y social de la nación.
Consecuentemente, pretende incorporar en las funciones centrales de la institución:
docencia, investigación, desarrollo tecnológico y extensión, el ámbito Aeroespacial.
Esta es la tarea del Centro de Desarrollo Aeroespacial, cuya creación como instancia
académica fue aprobada en lo general por el H. Consejo General Consultivo en la
sesión del 27 de abril de 2012; incluyendo reformas a su Acuerdo de Creación en la
sesión del 31 de agosto del mismo año.
La tarea inmediata por realizar se orienta a detallar un plan de trabajo de largo plazo,
que incorpore la flexibilidad necesaria para adaptarse a las circunstancias derivadas
del avance de las disciplinas relacionadas, en las cuales el país no ha tenido
experiencia práctica significativa. Para ello se propone operar en cuatro campos
básicos:
Formación de recursos humanos
Investigación y desarrollo tecnológico
Industrialización e innovación
Vinculación y cooperación
Para cuyo desarrollo se buscará aplicar más los criterios de gestión de proyectos, que
la integración y soporte de acciones regulares (44).
3.2.1 Antecedentes del CDA El Instituto Politécnico Nacional ha participado en colaboración con las entidades
nacionales que, en distintas épocas, han tenido la responsabilidad de las actividades
mexicanas en relación con el ámbito aeroespacial; como ejemplo de tales
antecedentes pueden considerarse que:
Es la institución fundadora de la carrera de Ingeniería Aeronáutica en el país
y, durante muchos años la única vía para dicha formación.
A través de sus egresados ha contribuido de manera esencial al inicio y
conducción de las actividades aeroespaciales en el país; desde la participación
en la operación de la Estación Rastreadora de Satélites ubicada en Guaymas
47
en 1957, pasando por la intervención mexicana en agencias satelitales de
carácter internacional para comunicaciones; hasta la coordinación de la
construcción de sistemas satelitales nacionales (Solidaridad).
En su interior, se han desarrollado diversos grupos involucrados en tales
actividades y otras relacionadas con el uso, la aplicación, la operación, la
investigación y el desarrollo de la ciencia y la tecnología espaciales: Escuela
Superior de Ingeniería y Arquitectura (ESIA), Ciencias de la Tierra; Escuela
Superior de Física y Matemáticas (ESFM); Escuela Superior de Ingeniería
Mecánica y Eléctrica Unidad Zacatenco (ESIME-Z), Posgrado; Escuela Superior
de Ingeniería Mecánica y Eléctrica Unidad Ticomán (ESIME-T), Aeronáutica;
Centro de Investigación y Desarrollo de Tecnología Digital (CITEDI); Centro
Interdisciplinario de Investigaciones y Estudios sobre Medio Ambiente y
Desarrollo (CIIEMAD) y CINVESTAV).
Ha participado y apoyado grupos de trabajo colaborativos, ejemplo:
o La Coordinación del Programa Interinstitucional de Satélites
Experimentales (SATEX).
o Participación en experimentos de radiopropagación del Satélite de
Comunicaciones Avanzadas de la NASA (ACTS).
o Apoyo para la Propuesta del Gobierno Mexicano para la Creación del
Centro Regional de Enseñanza en Ciencia y Tecnología Espaciales para
América Latina y el Caribe.
o Implantación de la Maestría en Ciencias en Ingeniería Aeronáutica y
Espacial en ESIME Ticomán.
o Investigaciones en las áreas de: comunicaciones satelitales, dinámica
orbital, dinámica de vuelo, estructuras de plataformas espaciales,
sistemas de navegación y orientación espacial, percepción remota,
propulsión; operación de sistemas satelitales; desarrollos de antenas
y equipo terreno de recepción de señales de satélites y modelos
matemáticos para control de estabilidad en órbita del satélite
Morelos I (ESIME-Z, ESIME-T y ESFM).
o La organización del Coloquio de Ciencia y Tecnología Aeroespacial
(AEROESPACIO 2010) (44).
48
3.2.2 Objetivos Asesorar y apoyar a la autoridad institucional en el desarrollo de sus
funciones vinculadas a la Agencia Espacial Mexicana.
Realizar acciones de formación y capacitación en materia aeroespacial.
Fomentar, realizar y/o colaborar en programas, proyectos y acciones de
investigación, desarrollo tecnológico e innovación en la materia.
Fomentar y/o participar en programas y proyectos de creación y
reorientación industrial en la materia.
Establecer relaciones de colaboración e intercambio con instancias similares,
nacionales y extranjeras.
Participar en estudios y proyectos sobre regulación y normalización; así como
en la oferta de servicios científicos y tecnológicos en la materia.
Realizar acciones y eventos de extensión, difusión y divulgación en sus
campos de trabajo (44).
3.2.3 Misión El Centro de Desarrollo Aeroespacial es la unidad institucional responsable de
coordinar y/o realizar actividades que en materia aeroespacial son conducidas en las
Escuelas, Centros y Unidades (ECUs) institucionales y requieren una presencia exterior
unificada, así como ser instrumento de asesoría especializada para la intervención
institucional en instancias competentes; mediante la promoción de: la formación de
recursos humanos, acciones de investigación, desarrollo tecnológico e innovación,
cooperación internacional y desarrollo industrial; con el propósito de estimular el
avance institucional en los temas centrales y afines a su materia; coadyuvando al
desarrollo de la sociedad mexicana (44).
3.2.4 Visión El Centro de Desarrollo Aeroespacial contribuirá con eficacia y reconocimiento a la
misión institucional en el ámbito de su competencia. Dispondrá de la capacidad
necesaria para coordinar y realizar actividades regulares y proyectos institucionales
que en materia aeroespacial definan sus objetivos específicos y ofrecer a la autoridad
institucional la asesoría especializada requerida para su participación en las instancias
competentes en que deba intervenir. Se enmarcará en la observancia y apego a los
49
principios y valores institucionales y se caracterizará por su contribución al
cumplimiento de los programas de trabajo de la autoridad. Será conocido y
reconocido en el ámbito nacional e internacional de la materia por su colaboración y
actuación con estándares convenientes de eficiencia y calidad. Se distinguirá por
difundir a la comunidad politécnica y a la sociedad en general el estado del arte y
avances en sus temas de responsabilidad (44).
3.2.5 Objetivos específicos Están definidos en el Acuerdo de creación del Centro de Desarrollo Aeroespacial, en
los siguientes términos:
I. Asesorar y apoyar al titular de la Dirección General del Instituto en los temas
que éste requiera, para el desarrollo de sus funciones como miembro de la
Junta de Gobierno de la Agencia Espacial Mexicana.
II. Promover y realizar actividades para la formación de recursos humanos de
alto nivel; acciones de investigación, desarrollo tecnológico e innovación;
elaboración de tesis experimentales; cooperación internacional y desarrollo
industrial, con el propósito de estimular el avance institucional en los temas
centrales y afines a su materia, coadyuvando en el avance de la sociedad
mexicana.
III. Fortalecer, impulsar y colaborar en el desarrollo de las actividades que en
materia aeroespacial son conducidas en las unidades del Instituto, y que
requieren una presencia exterior unificada.
IV. Contribuir, en su ámbito de competencia, al desarrollo de empresas
vinculadas con el sector aeroespacial por medio de consultorías, formación,
capacitación, transferencia y licenciamiento de tecnología, así como de
servicios científicos y tecnológicos de la materia.
V. Elaborar estudios y promover acciones de vinculación con el sector
productivo y de servicios para identificar sus necesidades científicas,
tecnológicas y de innovación en materia aeroespacial y desarrollar
conjuntamente programas para atender sus requerimientos.
VI. Desarrollar y participar en las actividades y proyectos de investigación
científica y tecnológica en materia aeroespacial, que se generen en los
sectores productivo de bienes y servicios, público, social y privado,
interesados en el impulso de las actividades de investigación científica y
tecnológica de acuerdo con los convenios correspondientes.
50
VII. Organizar y ofrecer servicios científicos y tecnológicos aplicables al ámbito
aeroespacial de acuerdo a las mejores prácticas observadas con aplicabilidad
en el país, en el marco de la regulación relativa.
VIII. Promover la generación de proyectos en el área aeroespacial, en
colaboración con otras instituciones y en los que participen investigadores,
docentes y alumnos del Instituto.
IX. Proponer opciones de solución tecnológica en materia aeroespacial que
permitan incrementar la competitividad de los sectores productivo de bienes
y servicios, público, social y privado relacionados con la materia.
X. Las demás que prevea este Acuerdo y la normatividad aplicable en el Instituto
Politécnico Nacional, que sean acordes con las funciones antes enunciadas y
que se requieran para el cumplimiento de las mismas (44).
3.2.6 Expectativas La participación y contribución del IPN en la oferta de programas académicos de
posgrado de naturaleza internacional, con la intervención de múltiples instituciones
de educación superior del país y extranjeras, que ofrezcan una opción reconocida de
formación a estudiantes del IPN y del exterior; con objetivos compatibles con los fines
de desarrollo institucional en la materia.
Participar en proyectos multi-institucionales de investigación y desarrollo, cuyas
acciones y productos permitan ganar experiencia en trabajo colaborativo y sirvan de
base para la modernización y actualización de programas del posgrado institucional.
Aprovechamiento de la información resultante de las actividades aeroespaciales para
su aplicación en proyectos y acciones orientadas al beneficio de la sociedad en
ámbitos tales como: la salud; alimentación; seguridad y defensa; medio ambiente y
producción de satisfactores de necesidades cotidianas de la sociedad; entre otros.
Inducir en la comunidad la necesidad de vinculación y la práctica del trabajo
colaborativo.
Pugnar por la participación y consideración de la experiencia y conocimiento de los
miembros de la comunidad politécnica en materia aeroespacial principalmente en las
entidades estatales y paraestatales como la Comisión Federal de Telecomunicaciones
(COFETEL), Satélites Mexicanos (SATMEX), Secretaría de Comunicaciones y
Transportes (SCT), y los grandes planes y proyectos nacionales relacionados.
51
Incrementar el reconocimiento social sobre la imagen del IPN y sobre las actividades
espaciales (44).
3.2.7 Organigrama A continuación se presenta el organigrama del Centro de Desarrollo Aeroespacial.
Figura 8. Organigrama del CDA. Fuente: Instituto Politécnico Nacional. Centro de Desarrollo Aeroespacial 2012
3.3 Descripción del sistema El SIPAEP es un sistema diseñado para la aplicación de encuestas y clasificación de la
información de una manera automática. Dicho sistema tiene como objetivo
fundamental maximizar el tiempo y los beneficios de utilizar un medio de
comunicación como Internet.
Dirección
Coordinación de servicios de apoyo
académico
Subdirección de gestión de proyectos y
formación de recursos
Subdirección de normalización y
servicios científicos y tecnológicos
Coordinación de fomento al desarrollo
de la empresa – Industria nacional
Subdirección de proyectos colaborativos
Subdirección de fomento a la empresa -
industria
Coordinación de cooperación, regulación
y divulgación
Subdirección de fomento a la cooperación
Subdirección de regulación y divulgación
Departamento de servicios
administrativos
Comité interno de proyectos
Coordinación de enlace y gestión técnica
Unidad de informática
52
El SIPAEP es una aplicación web basada en tecnologías como Java, Maven, Spring, JPA
y ZK. Dichas tecnologías brindan un marco de trabajo que permite el desarrollo de
aplicaciones robustas y extensibles. Asimismo cuenta con una interfaz interactiva y
amigable que facilita su utilización por parte de usuarios no especializados en tópicos
informáticos.
El sistema en cuestión cuenta con una base de datos relacional, la cual cuenta con
tres módulos principalmente, a saber: administración de cuestionarios,
administración de usuarios y generación de iniciativas.
El marco de trabajo de ZK permite que el SIPAEP tenga una interfaz altamente
interactiva y portable entre plataformas, lo cual permite que la aplicación de los
cuestionarios se pueda realizar por medio de dispositivos móviles o computadoras
convencionales.
La arquitectura del sistema está planteada de tal forma que sea poco costoso,
programáticamente, el agregar nuevas funcionalidades, de tal forma que el proyecto
sea extensible y aplique cabalmente la metodología de desarrollo de software
incremental iterativa.
El SIPAEP cuenta con un bajo acoplamiento a nivel de componentes de software al
utilizar inyección de dependencias a través de Spring. Asimismo tiene una alta
cohesión debido a que la base de datos está modelada en base a objetos de negocio
particulares y atómicos por medio de JPA.
3.3.1 Arquitectura del sistema El SIPAEP está alambrado por medio de Spring que a su vez utiliza una interfaz con ZK
para la administración de eventos en el cliente. Para la parte del modelo de datos se
utiliza JPA para interactuar con una base de datos relacional implementada en
MySQL.
Adicional a lo anterior se utiliza el patrón de diseño MVC (Modelo Vista Controlador)
el cual está implementado mediante ZK.
La conjunción de tareas como: despliegues, compilación y pruebas unitarias; se realiza
por medio de Maven. El cual permite mecanizar este tipo de tareas.
El sistema cuenta con los siguientes módulos fundamentales:
Aplicación de cuestionarios: Se encarga de la aplicación de cuestionarios y
almacenamiento de la información recabada por éstos.
53
Generador de iniciativas: Se encarga de clasificar la información y ordenarla
de manera que sea posible generar, por medio del sistema, iniciativas de
proyectos relacionados con el ámbito aeroespacial; basándose en la
información proporcionada por los usuarios del sistema. A este módulo del
sistema únicamente tienen acceso las personas que cuenten con un perfil de
administrador.
Administración de usuarios: Su función es la gestión de los usuarios y los
distintos perfiles que pueden tener. Se encarga de la seguridad,
administración de usuarios y contraseñas, entre otros.
El SIPAEP plantea un flujo de pantallas sencillo, de las que las más importantes se
ilustran en la figura 9.
USUARIO
Página de bienvenida
Formulario principal
¿Interesado en PAEP?
Página de despedidaNOSIPAEP
Formularios secundarios
SI
ADMINISTRADOR
Página de login
Generador de iniciativas
Cambio de password
Administrador de usuarios
Figura 9. Flujo de pantallas del SIPAEP
54
3.4 Objetivos Los objetivos que pretende cubrir el sistema se clasifican en tres grupos,
principalmente; los cuales se muestran a continuación.
Figura 10. Objetivos del SIPAEP
3.4.1 Objetivo general El objetivo general del sistema es proporcionar una herramienta interactiva de fácil
administración y utilización para la aplicación de encuestas y clasificación de la
información recabada de una manera dinámica. Con la finalidad de poder generar
iniciativas para la realización de proyectos relacionados con el ámbito aeroespacial,
las cuales se basan en la consideración de los recursos humanos, materiales y de
infraestructura con los que cuenta el IPN; es decir, por medio del inventario de sus
recursos.
Interfaz interactiva
Clasificación dinámica de
la información
Fácil escalabilidad
55
3.4.2 Objetivos específicos Los objetivos específicos del SIPAEP se enumeran a continuación:
Escalabilidad.
Interactividad.
Alta cohesión.
Bajo acoplamiento.
Portabilidad.
Precisión.
Facilitador para la toma de decisiones.
Reutilización de componentes de software.
3.5 Justificación Por medio del cumplimiento de los objetivos del sistema se pretende generar una
herramienta facilitadora para la toma de decisiones la cual contribuya al desarrollo y
crecimiento del Programa Aeroespacial Politécnico en el ámbito de la generación de
proyectos tecnológicos encaminados a incorporarse en la industria, la investigación, el
comercio y cualquier otro rubro aplicable. Asimismo el SIPAEP pretende reducir los
tiempos de recopilación de la información relacionada con los recursos del IPN y
maximizar la utilidad y el valor que dicha información genere.
3.6 Análisis Por tratarse de un sistema web, el SIAPEP cuenta con un ambiente concurrente perse;
lo cual brinda la ventaja de que varios usuarios puedan estar conectados al mismo
tiempo realizando encuestas o iniciativas; lo que a su vez se convierte en un riesgo, ya
que puede existir contención de tablas a nivel de base de datos. Por tal razón es
imperativo que los accesos a la base de datos se realicen el menor número de veces
posible y todos los datos que pertenezcan a catálogos que forman parte del modelo,
sean almacenados en memoria, de ser posible.
Otro aspecto importante que se debe considerar, es que el SIPAEP está expuesto a
recibir ataques informáticos por estar disponible mediante Internet. Este hecho
implica un riesgo alto que debe ser mitigado de tal forma que no sea posible el acceso
a información restringida por parte de usuarios no autorizados. Un primer mecanismo
de seguridad es el módulo de administración de usuarios, el cual está destinado a
56
restringir el acceso al sistema de generación de iniciativas, únicamente a usuarios con
perfil de administrador. Un segundo elemento de seguridad es que, las direcciones IP
por las cuales se accede a las pantallas de administración del sistema se encuentran
ocultas a los usuarios convencionales que ingresen al sistema únicamente para aplicar
encuestas, es decir, los únicos usuarios que conocen los accesos para administrar el
sistema son los administradores.
En cuanto a la base de datos, es conveniente que esté instalada en un servidor
diferente al que contiene el despliegue de la aplicación web, que cuente con un
firewall, que los usuarios que puedan efectuar operaciones sobre la base de datos
sean controlados y tener configuradas políticas restrictivas de acceso a la información
por medio del manejador de la base de datos.
El servidor de aplicaciones debe estar configurado para evitar el uso libre de las
pantallas de configuración del mismo. Debe estar instalado en un sistema que cumpla
con los requerimientos recomendados de hardware para evitar problemas de falta de
memoria o procesamiento deficiente.
Un punto muy importante a considerar es que el sistema será utilizado, en su
mayoría, por personas que posiblemente no estén inmersas en un ámbito informático
profesional, lo que conlleva a la necesidad de que el SIPAEP sea de fácil
entendimiento, utilización y sea lo más amigable posible con los usuarios finales.
En el SIPAEP se cuenta con los cuestionarios a aplicar como insumo indispensable
para su desarrollo, es decir, éstos han sido diseñados y proporcionados previamente
por el área correspondiente a cargo del PAEP. Dichos cuestionarios fueron ordenados
de tal forma que en base a preguntas clave se bifurque el flujo de los cuestionarios
para aplicar distintas preguntas a los usuarios dependiendo del perfil con el que
cuentan.
El sistema almacenará en su base de datos toda la información de los usuarios que lo
utilicen y estén interesados, o no, en participar en el desarrollo de proyectos
aeroespaciales. Esto con fines estadísticos y de análisis posteriores de la información
y de las tendencias de la población encuestada.
Es conveniente destacar que, si bien el sistema es capaz de generar iniciativas en base
a la información que los usuarios proporcionen, éstas deben ser consideradas de
carácter preliminar o tentativo, ya que la información deberá ser validada y
respaldada con las evidencias que sean necesarias, derivado de que existe el riesgo de
que algún usuario introduzca información inconsistente o falsa lo que ocasionaría una
iniciativa dudosa o incompleta.
57
3.6.1 Requerimientos de usuario Los requerimientos de usuarios se clasifican en dos grupos, usuarios convencionales
(que aplican encuestas) y usuarios administradores (administran el sistema y generan
iniciativas), para los cuales se contemplan los siguientes requerimientos que deben
formar parte del SIPAEP:
Usuario convencional
o El sistema debe contar con una interfaz intuitiva y simple.
o El número de preguntas por pantalla no debe ser abrumador para el
usuario, por lo cual para un mismo cuestionario deben existir varias
pantallas con un número reducido de preguntas.
o Se debe permitir al usuario regresar a preguntas ya contestadas con
la finalidad de modificar las respuestas ingresadas previamente.
o Se debe proveer al usuario la opción de no contestar el cuestionario si
así lo desea, solicitándole únicamente sus datos personales para fines
estadísticos.
o Para los usuarios que, en base a sus respuestas, se consideren
directivos de algún centro o unidad se les deberá aplicar el
cuestionario relacionado con recursos de infraestructura y recursos
materiales.
o Para los usuarios que, en base a sus respuestas, se consideren
docentes, investigadores o estudiantes se les deberá aplicar el
cuestionario relacionado con recursos humanos.
o No debe ser permitido a los usuarios convencionales guardar
cuestionarios sin contestar o inconclusos.
o Se debe proveer al usuario de catálogos que contengan datos usuales
como puestos, líneas de investigación, unidades académicas, etc., con
la finalidad de minimizar la necesidad de ingresar de forma manual la
información de dichos campos.
Usuario administrador
o El sistema debe contar con una herramienta de gestión de usuarios y
contraseñas.
o La administración de usuarios debe considerar un módulo de
seguridad.
58
o Las contraseñas almacenadas en la base de datos deben estar
cifradas.
o Debe ser posible dar de alta, baja o modificar los datos de cualquier
usuario (siempre y cuando se cuenten con los privilegios suficientes).
o El generador de iniciativas debe implementar la funcionalidad de drag
and drop, lo que permitirá al usuario generar iniciativas de proyectos
de una forma más intuitiva.
o La información debe estar consolidada en tres grandes rubros:
Recursos humanos, recursos materiales, recursos de infraestructura.
o Debe ser posible almacenar en el sistema las iniciativas generadas, así
como borrarlas o modificarlas.
o Debe existir una forma de pre visualizar la iniciativa.
o El SIPAEP debe contar con la funcionalidad de exportar en un formato
de texto, (Word, PDF) la iniciativa generada.
o Debe ser posible almacenar en el sistema varias iniciativas para un
mismo usuario.
o Los cuestionarios respondidos por los usuarios convencionales deben
ser almacenados íntegramente en la base de datos para poder
regenerarlos en cualquier momento.
o El sistema debe estar preparado para acoplarse con otros sistemas y
extender su funcionalidad en caso de ser necesario.
3.6.2 Requerimientos de sistema El SIPAEP debe cumplir con los siguientes requerimientos de infraestructura para
asegurar su correcto funcionamiento:
Debe ser instalado en un servidor de aplicaciones que soporte Java 1.7 (se
recomienda glassfish para ambientes productivos).
El servidor donde se instale debe tener salida a Internet y contar con una IP
pública.
El servidor donde sea instalada la base de datos debe contar con MySQL y un
espacio de almacenamiento de 10 GB en disco.
59
Las características de hardware mínimas que se deben cumplir para los
servidores son las siguientes:
o Procesador de 1.2 GHz de doble núcleo.
o Memoria RAM de 4 GB.
o Espacio en disco duro disponible de 300 MB (no considera el espacio
de la base de datos).
o Tarjeta de red de 1000 Mbps.
El SIPAEP debe cumplir con los siguientes requerimientos a nivel de software para
mantener la calidad de código y contribuir a que sea mantenible y fácilmente
escalable.
Se deben respetar los principios de la programación orientada a objetos
(abstracción, encapsulamiento, polimorfismo, herencias).
Se debe evitar el uso de elementos estáticos en el sistema debido a la
concurrencia de los usuarios que lo utilizarán.
Deben estar bien definidas y acotadas las distintas capas del sistema (modelo,
vista y controlador).
La vista debe ser implementada mediante eventos dinámicos asíncronos por
medio de ZK.
Cada clase debe contar con su clase de prueba unitaria implementada con
JUnit.
Se debe evitar codificar parámetros en código duro, en su lugar se deben
utilizar parámetros cargados en BD.
Cada método no debe recibir más de cuatro parámetros.
Para el transporte de la información entre capas se debe considerar el uso
objetos de transporte tales como DTOs, Vos o DO según aplique.
Para mantener la claridad del código se debe utilizar Javadocs para
documentarlo. Para cada método, clase y miembros de clase.
Se debe utilizar inyección de dependencias en lugar de instanciación de clases
cuando sea posible.
60
Todas las tareas de ambientación de la base de datos, compilación, pruebas
unitarias y despliegue debe ser delegado a Maven para reducir riesgos de
errores durante la migración del sistema.
3.6.3 Especificaciones del software
3.6.3.1 Descripción de módulos
El SIPAEP cuenta con los siguientes módulos que se describen a continuación:
1. Módulo de administración de usuarios: Se encarga de gestionar las tareas de
asignación de usuarios y contraseñas con perfiles de administración,
modificar los registros de los usuarios ya existentes y administrar el manejo
de las sesiones de los usuarios en el sistema.
2. Módulo de generación de iniciativas: Se encarga de explotar la información
almacenada en la base de datos, en tiempo real la clasifica y agrupa para
permitir al usuario generar una iniciativa en base a la versión más actual de la
información existente en BD.
3. Módulo de aplicación de encuestas: Se encarga de mostrar al usuario las
preguntas que debe responder y almacenar las respuestas correspondientes
en la base de datos.
4. Módulo de acceso a datos: Este módulo se encarga de realizar el acceso a
datos del sistema, en él se encapsulan todas las operaciones sobre las tablas
que componen el SIPAEP.
5. Módulo de seguridad: Se encarga de proveer seguridad a los usuarios que se
han autenticado en el sistema, así como del cifrado y descifrado de las
contraseñas almacenadas en la base de datos.
3.6.3.2 Frameworks
A continuación se enlistan los distintos frameworks que se utilizan en la
implementación del SIPAEP, así como una breve descripción de cada uno de ellos:
Maven: Es una herramienta de software para la gestión y construcción de
proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Cuenta con
un modelo de configuración de construcción simple, basado en un formato
XML. Maven utiliza un Project Object Model (POM) para describir el proyecto
de software a construir, sus dependencias de otros módulos y componentes
externos, y el orden de construcción de los elementos. Viene con objetivos
predefinidos para realizar ciertas tareas claramente definidas, como la
61
compilación del código y su empaquetado. Una característica clave de Maven
es que está listo para usar en red. El motor incluido en su núcleo puede
dinámicamente descargar plugins de un repositorio, el mismo repositorio que
provee acceso a muchas versiones de diferentes proyectos Open Source en
Java, de Apache y otras organizaciones y desarrolladores. Maven provee
soporte no sólo para obtener archivos de su repositorio, sino también para
subir artefactos al repositorio al final de la construcción de la aplicación,
dejándola al acceso de todos los usuarios. Una caché local de artefactos actúa
como la primera fuente para sincronizar la salida de los proyectos a un
sistema local. Maven está construido usando una arquitectura basada en
plugins que permite que utilice cualquier aplicación controlable a través de la
entrada estándar. En teoría, esto podría permitir a cualquiera escribir plugins
para su interfaz con herramientas como compiladores, herramientas de
pruebas unitarias, etcétera, para cualquier otro lenguaje (45).
JPA: Es la API de persistencia desarrollada para la plataforma Java EE. Es un
framework del lenguaje de programación Java que maneja datos relacionales
en aplicaciones usando la Plataforma Java en sus ediciones Standard (Java SE)
y Enterprise (Java EE). JPA fue originada a partir del trabajo del JSR 220 Expert
Group. Ha sido incluida en el estándar EJB3. Persistencia en este contexto
cubre tres áreas:
o La API en sí misma, definida en el paquete javax.persistence
o La Java Persistence Query Language (JPQL)
o Metadatos objeto/relacional
El objetivo que persigue el diseño de esta API es no perder las ventajas de la
orientación a objetos al interactuar con una base de datos (siguiendo el
patrón de mapeo objeto-relacional), como sí pasaba con EJB2, y permitir usar
objetos regulares (conocidos como POJOs) (46).
Spring: Es un framework para el desarrollo de aplicaciones y contenedor de
inversión de control, de código abierto para la plataforma Java. La primera
versión fue escrita por Rod Johnson, quien lo lanzó junto a la publicación de
su libro Expert One-on-One J2EE Design and Development (Wrox Press,
octubre 2002). El framework fue lanzado inicialmente bajo la licencia Apache
2.0 en junio de 2003. Si bien las características fundamentales de Spring
Framework pueden ser usadas en cualquier aplicación desarrollada en Java,
existen variadas extensiones para la construcción de aplicaciones web sobre
la plataforma Java EE. A pesar de que no impone ningún modelo de
programación en particular, este framework se ha vuelto popular en la
62
comunidad al ser considerado una alternativa, sustituto, e incluso un
complemento al modelo EJB (Enterprise JavaBean).
Spring Framework comprende diversos módulos que proveen un rango de
servicios:
o Contenedor de inversión de control: Permite la configuración de los
componentes de aplicación y la administración del ciclo de vida de los
objetos Java, se lleva a cabo principalmente a través de la inyección
de dependencias.
o Programación orientada a aspectos: Habilita la implementación de
rutinas transversales.
o Acceso a datos: Se trabaja con RDBMS en la plataforma java, usando
Java Database Connectivity y herramientas de Mapeo objeto
relacional con bases de datos NoSQL.
o Gestión de transacciones: Unifica distintas APIs de gestión y coordina
las transacciones para los objetos Java.
o Modelo vista - controlador: Un framework basado en HTTP y
servlets, que provee herramientas para la extensión y personalización
de aplicaciones web y servicios web REST.
o Framework de acceso remoto: Permite la importación y exportación
estilo RPC, de objetos Java a través de redes que soporten RMI,
CORBA y protocolos basados en HTTP incluyendo servicios web
(SOAP).
o Convención sobre configuración: El módulo Spring Roo ofrece una
solución rápida para el desarrollo de aplicaciones basadas en Spring
Framework, privilegiando la simplicidad sin perder flexibilidad.
o Procesamiento por lotes: Un framework para procesamiento de alto
volumen, que incluye funciones reutilizables como manejo de
transacciones, reinicio de tareas, estadísticas de procesos, entre
otros.
o Autenticación y Autorización: Procesos de seguridad configurables
que soportan un rango de estándares, protocolos, herramientas y
prácticas a través del subproyecto Spring Security (formalmente Acegi
Security System for Spring).
63
o Administración Remota: Configuración de visibilidad y gestión de
objetos Java para la configuración local o remota vía JMX.
o Mensajes: Registro configurable de objetos receptores de mensajes,
para el consumo transparente a través de JMS, una mejora del envío
de mensajes sobre las API JMS estándar.
o Testing: Soporte de clases para desarrollo de unidades de prueba e
integración (47).
ZK: Es un framework de aplicaciones web en AJAX, completamente en Java de
software de código abierto que permite una completa interfaz de usuario
para aplicaciones web. El núcleo de ZK es un mecanismo conducido por
eventos basado en AJAX, sustentado sobre 70 componentes XUL y 80
componentes XHTML, y un lenguaje de marcación para diseñar interfaces de
usuario. Los programadores diseñan las páginas de su aplicación en
componentes XUL/XHTML ricos en características, y los manipulan con
eventos disparados por la actividad del usuario final. Es similar al modelo de
programación encontrado en las aplicaciones basadas en GUI de escritorio. ZK
utiliza el acercamiento llamado centrado-en-el-servidor para la sincronización
de componentes y el pipelining entre clientes y servidores lo que garantiza
que se haga automáticamente por el motor, y los códigos de AJAX sean
completamente transparentes para los desarrolladores de aplicaciones web.
Por lo tanto, los usuarios finales obtienen una interacción y respuesta similar
a las de una aplicación de escritorio, mientras que la complejidad del
desarrollo es similar a la que tendría la codificación de aplicaciones de
escritorio. Además de la programación basada en componentes y orientación
a eventos, de manera similar a Swing, ZK soporta un lenguaje de marcación
para la definición de una potente interfaz de usuario llamada ZUML (48).
JUnit: JUnit es un conjunto de clases (framework) que permite realizar la
ejecución de clases Java de manera controlada, para poder evaluar si el
funcionamiento de cada uno de los métodos de la clase se comporta como se
espera. Es decir, en función de algún valor de entrada se evalúa el valor de
retorno esperado; si la clase cumple con la especificación, entonces JUnit
devolverá que el método de la clase pasó exitosamente la prueba; en caso de
que el valor esperado sea diferente al que regresó el método durante la
ejecución, JUnit devolverá un fallo en el método correspondiente. JUnit es
también un medio de controlar las pruebas de regresión, necesarias cuando
una parte del código ha sido modificado y se desea ver que el nuevo código
cumple con los requerimientos anteriores y que no se ha alterado su
funcionalidad después de la nueva modificación. El propio framework incluye
64
formas de ver los resultados que pueden ser en modo texto, gráfico (AWT o
Swing) o como tarea en Ant.
En la actualidad las herramientas de desarrollo como NetBeans y Eclipse
cuentan con plug-ins que permiten que la generación de las plantillas
necesarias para la creación de las pruebas de una clase Java se realice de
manera automática, facilitando al programador enfocarse en la prueba y el
resultado esperado, y dejando a la herramienta la creación de las clases que
permiten coordinar las pruebas (49).
log4j: Es una biblioteca open source desarrollada en Java por la Apache
Software Foundation que permite a los desarrolladores de software elegir la
salida y el nivel de granularidad de los mensajes o “logs” (data logging) en
tiempo de ejecución y no en tiempo de compilación como es comúnmente
realizado. La configuración de salida y granularidad de los mensajes es
realizada en tiempo de ejecución mediante el uso de archivos de
configuración externos. Log4J ha sido implementado en otros lenguajes
como: C, C++,C#, Perl, Python, Ruby y Eiffel (50).
65
3.6.4 Casos de uso A continuación se definen los casos de uso generales del SIPAEP, en los cuales se
describen la funcionalidad del sistema.
Figura 11. Caso de uso principal del SIPAEP
uc [Use Case] Use Cases [Use Cases]
SIPAEP
Encuestado
Aplicar encuesta
Generar iniciativ as
Administrar
catálogos
Administrador
66
Caso de uso Generar iniciativas Identificador A.1
Actores Administrador
Tipo Primario
Referencias Clasificación de la información de BD.
Generación de reportes. Administración de iniciativas
generadas.
Relacionado con E.1
Precondición Que exista información en la base de datos derivada de la aplicación de cuestionarios por parte de los usuarios convencionales.
Que el usuario administrador cuente con las credenciales necesarias para acceder a esta funcionalidad del sistema.
Post condición
Iniciativas generadas almacenadas en el sistema. Iniciativas generadas exportadas a otro formato (Word, PDF).
Propósito Que el usuario con perfil de Administrador esté en posibilidad de generar iniciativas de proyectos a partir de la información capturada por los usuarios convencionales por medio de la funcionalidad de Aplicar encuestas.
Tabla 4. Descripción de caso de uso “generar iniciativas”
Caso de uso Aplicar encuesta Identificador A.2
Actores Administrador, Encuestado
Tipo Primario
Referencias Almacenamiento de la información capturada por los usuarios en la BD.
Relacionado con A.1
Precondición Que el usuario cuente con la dirección web de la encuesta a aplicar.
Post condición
Información almacenada de usuarios interesados en participar en un proyecto del ámbito aeroespacial.
Información almacenada de usuarios directivos que proporcionan datos acerca de los recursos de infraestructura y materiales que pueden poner a disposición de proyectos del ámbito aeroespacial.
Información personal de usuario que no está interesados en formar parte de algún proyecto del ámbito aeroespacial para fines estadísticos.
Propósito Que el usuario ingrese la información necesaria, que será almacenada en la base de datos, para poder contar con una base de conocimientos para la toma de decisiones en la creación de proyectos relacionados con el ámbito aeroespacial.
Tabla 5. Descripción de caso de uso “aplicar encuesta”
67
Caso de uso Administrar catálogos Identificador A.3
Actores Administrador
Tipo Primario
Referencias Gestión de los diversos catálogos almacenados en la base de datos.
Relacionado con A.1, A.2
Precondición Que el catálogo que se desea modificar exista en la base de datos.
Post condición
Catálogo actualizado.
Propósito Que el usuario Administrador cuente con una funcionalidad que le permita administrar todos los catálogos que forman parte del sistema. Esto con la finalidad de evitar la necesidad de modificación de la base de datos de forma manual; proporcionando una interfaz gráfica dedicada a este fin.
Tabla 6. Descripción de caso de uso “administrar catálogos”
Figura 12. Caso de uso “aplicar encuesta” perfil investigador y directivo
uc [Use Case] Use Cases [Use Cases]
Encuestado
Aplicar encuesta
perfil directiv o
Aplicar encuesta
perfil inv estigador
«Investigador»
«Directivo»
68
Caso de uso Aplicar encuesta perfil investigador
Identificador E.1
Actores Encuestado
Tipo Secundario
Referencias Permite al usuario que cuenta con un perfil de investigador aplicar la encuesta que generará información acerca de recursos humanos.
Relacionado con A.2
Precondición Que el usuario tenga un perfil de investigador.
Post condición
Almacenamiento de la información proporcionada por el usuario en la base de datos, catalogada como recurso humano.
Propósito Que el usuario almacene su información referente a sus líneas de investigación, conocimientos y áreas de interés en las cuales le interesaría participar para el desarrollo de algún proyecto del ámbito aeroespacial.
Tabla 7. Descripción de caso de uso “aplicar encuesta” perfil investigador
Caso de uso Aplicar encuesta perfil directivo
Identificador E.2
Actores Encuestado
Tipo Secundario
Referencias Permite al usuario que cuenta con un perfil de directivo aplicar la encuesta que generará información acerca de materiales y de infraestructura.
Relacionado con A.2
Precondición Que el usuario tenga un perfil de directivo.
Post condición
Almacenamiento de la información proporcionada por el usuario en la base de datos, catalogada como recursos materiales y/o de infraestructura.
Propósito Que el usuario almacene información referente a recursos materiales, financieros y de infraestructura, que está en posibilidad de facilitar para el desarrollo de algún proyecto del ámbito aeroespacial.
Tabla 8. Descripción de caso de uso “aplicar encuesta” perfil directivo
69
3.6.5 Modelo conceptual de la base de datos La base de datos es una parte fundamental del SIPAEP, la cual está modelada de tal
forma que el objetivo que persigue su diseño es no perder las ventajas de la
orientación a objetos al interactuar con el sistema y permitir usar objetos regulares
conocidos como POJOs para su interacción. Esto se logra con la implementación de la
capa de persistencia utilizando el framework JPA (Java Persistence API), el cual
maneja datos relacionales en aplicaciones usando la plataforma Java. El modelo de las
entidades más notables que forman parte de la base de datos a nivel conceptual se
muestran a continuación.
Figura 13. Modelo de la entidad "tipo_de_dato_recurso"
Figura 14. Modelo de la entidad "dependencia"
70
Figura 15. Modelo de la entidad "recurso_material"
Figura 16. Modelo de la entidad "entidad_aeroespacial_encuesta"
Figura 17. Modelo de la entidad "recurso_financiero"
Figura 18. Modelo de la entidad "datos_personales"
71
Figura 19. Modelo de la entidad "recurso_encuesta"
Figura 20. Modelo de la entidad "iniciativa"
Figura 21. Modelo de la entidad "informacion_academica_encuestado"
Figura 22. Modelo de la entidad "propuesta_encuesta"
72
Figura 23. Modelo de la entidad "academico"
Figura 24. Modelo de la entidad "encuesta"
Figura 25. Modelo de la entidad "catalogo_simple"
Figura 26. Modelo de la entidad "institucion_educativa"
74
C A P I T U L O I V : I m p l e m e n t a c i ó n
d e l S I P A E P
El presente capítulo tiene por objetivo mostrar la forma en que se elaboró el diseño
técnico, construcción y pruebas del sistema SIPAEP por medio de diagramas UML. El
UML (lenguaje unificado de modelado) es el sucesor de la oleada de métodos de
análisis y diseño orientados a objetos que surgió a finales de la década de 1980 y
principios de la siguiente. El UML unifica, sobre todo, los métodos de Booch,
Rumbaugh (OMT) y Jacobson; asimismo UML es un lenguaje de modelado, y no un
método; es la notación (principalmente gráfica) de que se valen los métodos para
expresar los diseños. El proceso es la orientación que nos dan sobre los pasos a seguir
para hacer el diseño (51).
4.1 Diseño de datos En la presente sección se enlistan los atributos y características de las entidades que
forman parte del SIPAEP.
entidad_aeroespacial_encuesta
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk
No
utilizado Indicador de si es utilizado o no
BIT(1)
No
entidad_ aeroespacial
Id del catálogo simple
INT(11) fk catalogo_simple Si
Tabla 9. Descripción de entidad “entidad_aeroespacial_encuesta”
encuesta_curso
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) pk,fk catalogo_simple No
curso_id Id del curso INT(11) pk,fk encuesta No Tabla 10. Descripción de entidad “encuesta_curso”
75
encuesta_valor_otro_catalogo
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) fk encuesta No
otros_id Id de la tabla valor_otro_catalogo
INT(11) fk valor_otro_ catalogo
No
Tabla 11. Descripción de entidad “encuesta_valor_otro_catalogo”
tipo_recurso
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id del tipo de recurso INT(11) pk
No
activo Indicador de actividad BIT(1)
No
clase Clase del tipo de recurso VARCHAR(255)
Si
clave Clave del tipo de recurso VARCHAR(255)
No
descripcion Descripción del tipo de recurso
VARCHAR(255)
Si
nombre Nombre del tipo de recurso
VARCHAR(255)
No
Tabla 12. Descripción de entidad “tipo_recurso”
recurso_encuesta
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk No
cantidad Cantidad del recurso DECIMAL(19,2) Si
descripcion Descripción del recurso VARCHAR(255) Si
tipo_id Id del tipo de recurso INT(11) fk tipo_recurso Si Tabla 13. Descripción de entidad “recurso_encuesta”
iniciativa_academico
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
iniciativa_id Id de la iniciativa INT(11) pk,fk iniciativa No
academicos_id Id del académico INT(11) pk,fk academico No Tabla 14. Descripción de entidad “iniciativa_academico”
76
academico
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id del académico INT(11) pk
No
cargo_id Cargo del académico
INT(11) fk cargo Si
datos_personales Datos personales del académico
INT(11) fk datos_ personales
Si
grado_id Grado del académico
INT(11) fk catalogo_ simple
Si
institucion_id Institución del académico
INT(11) fk institucion_ educativa
Si
lineaInvestigacion_ id
Línea de investigación del académico
INT(11) fk catalogo_ simple
Si
Tabla 15. Descripción de entidad “academico"
usuario
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id del usuario INT(11) pk
No
activo Indicador de actividad BIT(1)
No
nombre Nombre del usuario VARCHAR(255)
Si
password Clave de acceso del usuario
VARCHAR(255)
Si
datos_ personales
Datos personales del usuario
INT(11) fk datos_ personales
Si
Tabla 16. Descripción de entidad “usuario”
77
dependencia
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la dependencia INT(11) pk
No
activo Indicador de actividad de la dependencia
BIT(1)
No
clave Clave de la dependencia VARCHAR(255)
No
descripcion Descripción de la dependencia
VARCHAR(255)
Si
email Dirección de correo electrónico
VARCHAR(255)
Si
nombre Nombre de la dependencia VARCHAR(255)
No
telefono Teléfono de contacto de la dependencia
VARCHAR(255)
Si
ubicación Dirección de la dependencia
VARCHAR(255)
Si
Tabla 17. Descripción de entidad “dependencia”
vinculo_entidad_encuesta_catalogo_simple
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
vinculo_entidad_ encuesta_id
Relación entre entidades
INT(11) pk
No
entidades_id Relación entre entidades
INT(11) pk
No
Tabla 18. Descripción de entidad “vinculo_entidad_encuesta_catalogo_simple”
vinculo_entidad_encuesta
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk
No
tipo_vinculo Tipo del vínculo VARCHAR(255)
Si Tabla 19. Descripción de entidad “vinculo_entidad_encuesta”
78
valor_otro_catalogo
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk
No
catalogo Catálogo VARCHAR(255)
Si
descripcion Descripción del catálogo
VARCHAR(255)
Si
Tabla 20. Descripción de entidad “valor_otro_catalogo”
institucion_educativa
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la institución educativa
INT(11) pk
No
activo Indicador de actividad BIT(1)
No
clave Clave de la institución educativa
VARCHAR(255)
No
descripcion Descripción de la institución educativa
VARCHAR(255)
Si
nombre Nombre de la institución educativa
VARCHAR(255)
No
dependencia Dependencia de la institución educativa
INT(11) fk dependencia Si
Tabla 21. Descripción de entidad “institucion_educativa”
recurso_financiero
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id del recurso financiero INT(11) pk
No
cantidad Cantidad del recurso financiero
DECIMAL(19,2)
Si
descripcion Descripción del recurso financiero
VARCHAR(255)
Si
institucion_ id
institución que proporciona el recurso financiero
INT(11) fk institucion_ educativa
Si
tipo_id Id del tipo de recurso INT(11) fk tipo_recurso Si Tabla 22. Descripción de entidad “recurso financiero”
79
iniciativa
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la iniciativa INT(11) pk
No
descripcion Descripción de la iniciativa
VARCHAR(255)
Si
nombre Nombre de la iniciativa VARCHAR(255)
Si
estatus_id Estatus en el que se encuentra la iniciativa
INT(11)
Si
fecha_ creacion
Fecha de creación de la iniciativa
DATETIME
Si
ultima_ modificacion
Última modificación de la iniciativa
DATETIME
Si
usuario_id Id del usuario INT(11) fk usuario Si Tabla 23. Descripción de entidad “iniciativa”
propuesta_encuesta
Campo Descripción Tipo de dato Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk
No
descripcion Descripción de la propuesta
VARCHAR(255)
Si
nombre Nombre de la propuesta
VARCHAR(255)
Si
tipo Tipo de propuesta VARCHAR(255)
Si Tabla 24. Descripción de entidad “propuesta_encuesta”
encuesta_entidades_productoras
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) pk,fk encuesta No
entidad_id id de la entidad INT(11) pk,fk catalogo_simple No Tabla 25. Descripción de entidad “encuesta_entidades_productoras”
encuesta_coordinadores
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) fk encuesta No
element Elemento VARCHAR(255)
Si Tabla 26. Descripción de entidad “encuesta_coordinadores”
80
recurso_material
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id del recurso material INT(11) pk
Si
cantidad Cantidad del recurso material con que se cuenta
DECIMAL(19,2)
Si
descripcion Descripción del recurso material
VARCHAR(255)
Si
institucion_ id
Id de la institución INT(11) fk institucion_ educativa
Si
tipo_id Id del tipo de recurso INT(11) fk tipo_recurso Si Tabla 27. Descripción de entidad “recurso_material”
autorizacion_usuario
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de la autorización de usuario INT(11) pk
No
accion_id Id de la acción INT(11) fk accion No
usuario_id id del usuario INT(11) fk usuario No Tabla 28. Descripción de entidad “autorizacion_usuario”
iniciativa_recurso_material
Campo Descripción Tipo Llave Tabla
relacionada Null
iniciativa_id Id de la iniciativa INT(11) pk,fk iniciativa No
recursosMateriales_id Id del recurso material
INT(11) pk,fk recurso_ material
No
Tabla 29. Descripción de entidad “iniciativa_recurso_material”
iniciativa_recurso_financiero
Campo Descripción Tipo Llave Tabla
relacionada Null
iniciativa_id Id de la iniciativa INT(11) pk,fk iniciativa No
recursosFinancieros_ id
Id del recurso financiero
INT(11) pk,fk recurso_ financiero
No
Tabla 30. Descripción de entidad “iniciativa_recurso_financiero”
81
encuesta_carreras
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) pk,fk encuesta No
carrera_id Id de la carrera INT(11) pk,fk catalogo_simple No Tabla 31. Descripción de entidad “encuesta_carreras”
informacion_academica_encuestado
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk
No
cargo_id Id del cargo del encuestado
INT(11) fk cargo Si
grado_id Id del grado del encuestado
INT(11) fk catalogo_simple Si
institucion Id de la institución del encuestado
INT(11) fk institucion_educativa Si
linea_ investigacion
Id de la línea de investigación del encuestado
INT(11) fk catalogo_simple Si
Tabla 32. Descripción de entidad “información_academica_encuestado”
encuesta_proyecto_encuesta
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) fk encuesta No
proyectos_id Id del prooyecto INT(11) fk proyecto_encuesta No Tabla 33. Descripción de entidad “encuesta_proyecto_encuesta”
encuesta_recursos_materiales
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) fk encuesta No
recursosMateriales_id Id del recurso material INT(11) fk recurso_ encuesta
No
Tabla 34. Descripción de entidad “encuesta_recursos_materiales”
82
encuesta_recursos_humanos
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) fk encuesta No
recursosHumanos_id Id del recurso humano INT(11) fk recurso_ encuesta
No
Tabla 35. Descripción de entidad “encuesta_recursos_humanos”
encuesta_recursos_financieros
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) fk encuesta No
recursosFinancieros_id Id del recurso financiero
INT(11) fk recurso_ encuesta
No
Tabla 36. Descripción de entidad “encuesta_recursos_financiero”s
encuesta_tecnologias
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) pk,fk encuesta No
tecnologia_id id de la tecnología INT(11) pk,fk catalogo_simple No Tabla 37. Descripción de entidad “encuesta_tecnologias”
entidad_aeroespacial_encuesta_catalogo_simple
Campo Descripción Tipo Llave Tabla
relacionada Null
entidad_aerospacial_ encuesta_id
Id aeroespacial_ encuesta
INT(11) fk entidad_ aeroespacial_ encuesta
No
tecnologias_id Id de la tabla catalogo_simple
INT(11) fk catalogo_simple No
Tabla 38. Descripción de entidad “entidad_aeroespacial_encuesta_catalogo_simple”
83
encuesta
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de la encuesta INT(11) pk
No
autorizada Autorización de la encuesta
BIT(1)
Si
fecha Fecha de la encuesta
DATE
Si
planEstrategico Plan estratégico de la encuesta
VARCHAR(255)
Si
actividad_ aeroespacial
Actividad aeroespacial de la encueta
BIT(1)
Si
fondos_asignados Fondos asignados de la encuesta
BIT(1)
Si
datos_personales Id de los datos personales
INT(11) fk datos_ personales_ encuesta
Si
info_academica Id de la información académica
INT(11) fk informacion_ academica_ encuestado
Si
propuesta_ desarrollo
Id de la propuesta de desarrollo
INT(11) fk propuesta_ encuesta
Si
propuesta_ investigacion
Id de la propuesta de investigación
INT(11) fk propuesta_ encuesta
Si
vinculo_entidad Id del vínculo de la entidad
INT(11) fk vinculo_ entidad_ encuesta
Si
Tabla 39. Descripción de entidad “encuesta”
84
proyecto_encuesta
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de la relación proyecto encuesta
INT(11) pk
No
descripcion Descripción de la relación proyecto encuesta
VARCHAR(255)
Si
financiado Indicador de si es financiado o no el proyecto
BIT(1)
No
financiador Financiador del proyecto
VARCHAR(255)
Si
nombre Nombre del proyecto
VARCHAR(255)
Si
Tabla 40. Descripción de entidad “proyecto_encuesta”
encuesta_entidades_receptoras
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) pk,fk encuesta No
entidad_id Id de la entidad INT(11) pk,fk catalogo_simple No Tabla 41. Descripción de entidad “encuesta_entidades_receptoras”
catalogo_simple
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id del catálogo INT(11) pk
No
catalogo Catálogo VARCHAR(255)
No
activo Indicador de actividad BIT(1)
No
clave Clave del catálogo VARCHAR(255)
No
descripcion Descripción del catálogo VARCHAR(255)
Si
nombre Nombre del catálogo VARCHAR(255)
No Tabla 42. Descripción de entidad “catalogo simple”
85
cargo
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id del cargo INT(11) pk
No
activo indicador de actividad BIT(1)
No
clave Clave del cargo VARCHAR(255)
No
descripcion Descripción del cargo VARCHAR(255)
Si
nombre Nombre del cargo VARCHAR(255)
No
perfil_id Id del perfil INT(11) fk catalogo_ simple
No
Tabla 43. Descripción de entidad “cargo”
encuesta_servicios_aeroespaciales
Campo Descripción Tipo Llave Tabla
relacionada Null
encuesta_id Id de la encuesta INT(11) pk,fk encuesta No
servicio_id Id del servicio INT(11) pk,fk catalogo_simple No Tabla 44. Descripción de entidad “encuesta_servicios_aeroespaciales”
datos_personales_encuesta
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de la tabla INT(11) pk
No
apellido_materno Apellido materno del encuestado
VARCHAR(255)
Si
apellido_paterno Apellido paterno del encuestado
VARCHAR(255)
Si
email Correo electrónico del encuestado
VARCHAR(255)
Si
nombre Nombre del encuestado
VARCHAR(255)
Si
telefono Teléfono del encuestado
VARCHAR(255)
Si
sexo_id Id del sexo INT(11) fk catalogo_ simple
Si
Tabla 45. Descripción de entidad “datos_personales_encuesta”
86
accion
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de la acción INT(11) pk
No
clave Clave de la acción VARCHAR(255)
No
descripcion Descripción de la acción VARCHAR(255)
Si Tabla 46. Descripción de entidad “acción”
datos_personales
Campo Descripción Tipo Llave Tabla
relacionada Null
id Id de los datos personales
INT(11) pk
No
apellido_materno Apellido materno del encuestado
VARCHAR(255)
Si
apellido_paterno Apellido paterno del encuestado
VARCHAR(255)
Si
email Correo electrónico del encuestado
VARCHAR(255)
Si
nombre Nombre del encuestado
VARCHAR(255)
Si
telefono Teléfono del encuestado
VARCHAR(255)
Si
sexo_id Id del catálogo simple
INT(11) fk catalogo_ simple
Si
Tabla 47. Descripción de entidad “datos_personales”
87
4.2 Diseño arquitectónico El diseño arquitectónico representa la forma en que los distintos módulos del sistema
interactúan para cumplir con la funcionalidad requerida. Dicha interacción se realiza
por medio de clases con alta cohesión y bajo acoplamiento, por lo que la
extensibilidad de funcionalidades y el mantenimiento resulta más simple.
Figura 28. Diseño arquitectónico del SIPAEP
stm Use Cases
Módulo aplicador de
encuestas
Módulo de
persistencia
Módulo generador de
iniciativ as
Módulo de gestión de
usuarios
Módulo de gestión de
iniciativ as
Módulo de gestión de
catálogos
88
4.2.1 Diagrama de secuencia A continuación se ilustran los diagramas de secuencia que forman parte del flujo de
las distintas funcionalidades con las que cuenta el sistema.
Figura 29. Diagrama de secuencia del SIPAEP
4.2.2 Diagramas de clases En la presente sección se ilustran los diagramas de clases más notables que
conforman el SIPAEP; los cuales son fundamental para comprender cómo se
interrelacionan todas las clases, las dependencias y la lógica que utiliza el mismo.
sd Use Cases
Encuestado
Vista ZK Controlador Módulo de
persistencia
Responder
cuestionario()Invocar controlador()
Solicitar información de
modelo()
Refrescar catálogos()
Solicitar
cuestionarios por
perfi l()
Actualizar preguntas por perfi l()
Actualizar vista al usuario()
Almacenar cuestionario()
Ejecutar acción de persistencia()
Generar respuesta de almacenamiento()
Terminar cuestionario()
89
Figura 30. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.cargador”
Figura 31. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.cargador.util”
class cargador
AdministradorCargaCatalogos
- LOGGER: Logger = LoggerFactory.g... {readOnly}
- cargaCargo(FachadaCatalogos) : void
- cargadorAccion(FachadaAccion) : void
- cargadorAutorizacion(FachadaAccion, FachadaUsuario, FachadaAutorizacion) : void
- cargadorCatalogoSimple(Class, String, FachadaCatalogos) : void
- cargadorTipoRecurso(FachadaCatalogos) : void
- cargadorUsuario(FachadaUsuario) : void
- cargaInstitucion(FachadaCatalogos) : void
+ main(String[]) : void
class util
CSVParser
- LOGGER: Logger = LoggerFactory.g... {readOnly}
# CSVParser()
+ parse(Reader, String) : List<String[]>
+ parse(Reader) : List<String[]>
ReaderUtils
- LOGGER: Logger = LoggerFactory.g... {readOnly}
# ReaderUtils()
+ toUTF8(InputStream) : Reader
90
Figura 32. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.core.encuesta”
Figura 33. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.core.iniciativa”
class encuesta
«interface»
EncuestaServ ices
+ autorizaEncuesta(Encuesta) : void
+ generaEncuesta(Encuesta) : void
+ guarda(Encuesta) : void
EncuestaServ icesImpl
- fachadaAcademico: FachadaAcademico
- fachadaEncuesta: FachadaEncuesta
- fachadaRecurso: FachadaRecurso
+ autorizaEncuesta(Encuesta) : void
- creaAcademico(Encuesta) : void
- creaDatosPersonales(DatosPersonalesEncuesta) : DatosPersonales
- creaRecursosFinancieros(Encuesta) : void
- creaRecursosMateriales(Encuesta) : void
+ generaEncuesta(Encuesta) : void
+ guarda(Encuesta) : void
class iniciativ a
«interface»
Iniciativ aServ ices
+ actualizaIniciativa(Iniciativa) : void
+ generaIniciativa(Iniciativa) : void
Iniciativ aServ icesImpl
- fachadaCatalogos: FachadaCatalogos
- fachadaIniciativa: FachadaIniciativa
+ actualizaIniciativa(Iniciativa) : void
+ generaIniciativa(Iniciativa) : void
91
Figura 34. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.core.usuario”
class usuario
«interface»
UsuarioServ ices
+ actualizaUsuario(Usuario, Set<Accion>, String) : void
+ creaUsuario(Usuario, Set<Accion>) : void
UsuarioServ icesImpl
- fachadaAutorizacion: FachadaAutorizacion
- fachadaUsuario: FachadaUsuario
- LOGGER: Logger = LoggerFactory.g... {readOnly}
+ actualizaUsuario(Usuario, Set<Accion>, String) : void
+ creaUsuario(Usuario, Set<Accion>) : void
+ getHex(String) : String
92
Figura 35. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.catalogo”
class catalogo
«interface»
FachadaCatalogos
+ actualiza(EntidadCatalogo) : boolean
+ buscaCatalogo(Class<T>) : List<T>
+ buscaCatalogo(Class<T>, String[]) : List<T>
+ buscaCatalogo(Class<T>, boolean) : List<T>
+ buscaCatalogo(Class<T>, String[], boolean) : List<T>
+ buscaCatalogo(Class<T>, String, Object) : List<T>
+ buscaCatalogo(Class<T>, String, Object, String[]) : List<T>
+ buscaCatalogo(Class<T>, String[], Object[]) : List<T>
+ buscaCatalogo(Class<T>, String[], Object[], String[]) : List<T>
+ buscaElementoCatalogo(Class<T>, Integer) : T
+ buscaElementoCatalogo(Class<T>, String) : T
+ buscaElementoCatalogo(Class<T>, String, Object) : T
+ buscaElementoCatalogo(Class<T>, String[], Object[]) : T
+ elimina(EntidadCatalogo) : boolean
+ guarda(EntidadCatalogo) : boolean
FachadaCatalogosJpa
- entityManager: EntityManager
- LOGGER: Logger = LoggerFactory.g... {readOnly}
+ actualiza(EntidadCatalogo) : boolean
+ buscaCatalogo(Class) : List<EntidadCatalogo>
+ buscaCatalogo(Class, String[]) : List<EntidadCatalogo>
+ buscaCatalogo(Class, boolean) : List<EntidadCatalogo>
+ buscaCatalogo(Class, String[], boolean) : List<EntidadCatalogo>
+ buscaCatalogo(Class, String, Object) : List<EntidadCatalogo>
+ buscaCatalogo(Class, String, Object, String[]) : List<EntidadCatalogo>
+ buscaCatalogo(Class, String[], Object[]) : List<EntidadCatalogo>
+ buscaCatalogo(Class, String[], Object[], String[]) : List<EntidadCatalogo>
+ buscaElementoCatalogo(Class<T>, String) : T
+ buscaElementoCatalogo(Class<T>, Integer) : T
+ buscaElementoCatalogo(Class<T>, String, Object) : T
+ buscaElementoCatalogo(Class<T>, String[], Object[]) : T
+ elimina(EntidadCatalogo) : boolean
+ getEntityManager() : EntityManager
+ guarda(EntidadCatalogo) : boolean
+ setEntityManager(EntityManager) : void
93
Figura 36. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.encuesta”
class encuesta
«interface»
FachadaEncuesta
+ actualiza(Encuesta) : void
+ guarda(Encuesta) : void
FachadaEncuestaJpa
- entityManager: EntityManager
+ actualiza(Encuesta) : void
+ guarda(Encuesta) : void
94
Figura 37. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.iniciativa”
class iniciativ a
«interface»
FachadaAcademico
+ guarda(Academico) : void
+ obtenAcademicos() : List<Academico>
FachadaAcademicoJpa
- entityManager: EntityManager
+ guarda(Academico) : void
+ obtenAcademicos() : List<Academico>
«interface»
FachadaIniciativ a
+ actualiza(Iniciativa) : void
+ buscaIniciativas(Usuario) : List<Iniciativa>
+ getById(Integer) : Iniciativa
+ guarda(Iniciativa) : void
FachadaIniciativ aJpa
- entityManager: EntityManager
+ actualiza(Iniciativa) : void
+ buscaIniciativas(Usuario) : List<Iniciativa>
+ getById(Integer) : Iniciativa
+ guarda(Iniciativa) : void
«interface»
FachadaRecurso
+ guardaFinanciero(RecursoFinanciero) : void
+ guardaMaterial(RecursoMaterial) : void
+ obtenRecursosFinancieros() : List<RecursoFinanciero>
+ obtenRecursosMateriales() : List<RecursoMaterial>
FachadaRecursoJpa
- entityManager: EntityManager
+ guardaFinanciero(RecursoFinanciero) : void
+ guardaMaterial(RecursoMaterial) : void
+ obtenRecursosFinancieros() : List<RecursoFinanciero>
+ obtenRecursosMateriales() : List<RecursoMaterial>
95
Figura 38. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.dao.seguridad”
Figura 39. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.modelo”
class seguridad
«interface»
FachadaAccion
+ actualiza(Accion) : void
+ buscaAccion(String) : Accion
+ buscaAcciones() : List<Accion>
+ guarda(Accion) : void
FachadaAccionJpa
- entityManager: EntityManager
+ actualiza(Accion) : void
+ buscaAccion(String) : Accion
+ buscaAcciones() : List<Accion>
+ guarda(Accion) : void
«interface»
FachadaAutorizacion
+ borra(AutorizacionUsuario) : void
+ buscaAccionesAutorizadas(Usuario) : List<Accion>
+ buscaAutorizaciones(Usuario) : List<AutorizacionUsuario>
+ buscaAutorizaciones(Usuario, Accion) : AutorizacionUsuario
+ guarda(AutorizacionUsuario) : void
FachadaAutorizacionJpa
- entityManager: EntityManager
- LOGGER: Logger = LoggerFactory.g... {readOnly}
+ borra(AutorizacionUsuario) : void
+ buscaAccionesAutorizadas(Usuario) : List<Accion>
+ buscaAutorizaciones(Usuario) : List<AutorizacionUsuario>
+ buscaAutorizaciones(Usuario, Accion) : AutorizacionUsuario
+ guarda(AutorizacionUsuario) : void
«interface»
FachadaUsuario
+ actualiza(Usuario) : void
+ buscaUsuario(String) : Usuario
+ buscaUsuarios() : List<Usuario>
+ guarda(Usuario) : void
FachadaUsuarioJpa
- entityManager: EntityManager
+ actualiza(Usuario) : void
+ buscaUsuario(String) : Usuario
+ buscaUsuarios() : List<Usuario>
+ guarda(Usuario) : void
class modelo
Serializable
«interface»
Entidad
+ getId() : Integer
+ setId(Integer) : void
96
Figura 40. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.modelo.catalogo”
class catalogo
AbstractEntidadCatalogoSimple
+ equals(Object) : boolean
+ getClave() : String
+ getCompleto() : String
+ getDescripcion() : String
+ getId() : Integer
+ getNombre() : String
+ hashCode() : int
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setClave(String) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ toString() : String
Cargo
+ equals(Object) : boolean
+ getClave() : String
+ getDescripcion() : String
+ getId() : Integer
+ getNombre() : String
+ getPerfil() : PerfilEncuestado
+ hashCode() : int
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setClave(String) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ setPerfil(PerfilEncuestado) : void
+ toString() : String
CarreraAeroespacial
CursoAeroespacial
Dependencia
+ equals(Object) : boolean
+ getClave() : String
+ getDescripcion() : String
+ getEmail() : String
+ getId() : Integer
+ getInstituciones() : List<InstitucionEducativa>
+ getNombre() : String
+ getTelefono() : String
+ getUbicacion() : String
+ hashCode() : int
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setClave(String) : void
+ setDescripcion(String) : void
+ setEmail(String) : void
+ setId(Integer) : void
+ setInstituciones(List<InstitucionEducativa>) : void
+ setNombre(String) : void
+ setTelefono(String) : void
+ setUbicacion(String) : void
+ toString() : String
EntidadAeroespacial
Entidad
EntidadCatalogo
+ getClave() : String
+ getDescripcion() : String
+ getNombre() : String
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setClave(String) : void
+ setDescripcion(String) : void
+ setNombre(String) : void
EstatusIniciativ a
+ NUEVA: String = "nueva" {readOnly}
Grado
InstitucionEducativ a
+ equals(Object) : boolean
+ getClave() : String
+ getDependencia() : Dependencia
+ getDescripcion() : String
+ getId() : Integer
+ getNombre() : String
+ hashCode() : int
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setClave(String) : void
+ setDependencia(Dependencia) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ toString() : String
LineaInv estigacion
PerfilEncuestado
+ equals(Object) : boolean
+ hashCode() : int
+ toString() : String
Serv icioAeroespacial
Sexo
TecnologiaAeroespacial
TipoRecurso
+ equals(Object) : boolean
+ getClase() : String
+ getClave() : String
+ getDescripcion() : String
+ getId() : Integer
+ getNombre() : String
+ hashCode() : int
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setClase(String) : void
+ setClave(String) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ toString() : String
ValorOtroCatalogo
+ getCatalogo() : String
+ getDescripcion() : String
+ getId() : Integer
+ setCatalogo(String) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
-dependencia
-perfil
97
Figura 41. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.modelo.iniciativa”
class iniciativ a
Academico
- cargo: Cargo
- datosPersonales: DatosPersonales
- grado: Grado
- id: Integer
- institucion: InstitucionEducativa
- l ineaInvestigacion: LineaInvestigacion
+ getCargo() : Cargo
+ getDatosPersonales() : DatosPersonales
+ getGrado() : Grado
+ getId() : Integer
+ getInstitucion() : InstitucionEducativa
+ getLineaInvestigacion() : LineaInvestigacion
+ getNombreAcademico() : String
+ setCargo(Cargo) : void
+ setDatosPersonales(DatosPersonales) : void
+ setGrado(Grado) : void
+ setId(Integer) : void
+ setInstitucion(InstitucionEducativa) : void
+ setLineaInvestigacion(LineaInvestigacion) : void
Iniciativ a
- academicos: Set<Academico>
- descripcion: String
- estatus: EstatusIniciativa
- fechaCreacion: Calendar
- id: Integer
- nombre: String
- recursosFinacieros: Set<RecursoFinanciero>
- recursosMateriales: Set<RecursoMaterial>
- ultimaModificacion: Calendar
- usuario: Usuario
+ getAcademicos() : Set<Academico>
+ getDescripcion() : String
+ getEstatus() : EstatusIniciativa
+ getFechaCreacion() : Calendar
+ getId() : Integer
+ getNombre() : String
+ getRecursosFinacieros() : Set<RecursoFinanciero>
+ getRecursosMateriales() : Set<RecursoMaterial>
+ getUltimaModificacion() : Calendar
+ getUsuario() : Usuario
+ setAcademicos(Set<Academico>) : void
+ setDescripcion(String) : void
+ setEstatus(EstatusIniciativa) : void
+ setFechaCreacion(Calendar) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ setRecursosFinacieros(Set<RecursoFinanciero>) : void
+ setRecursosMateriales(Set<RecursoMaterial>) : void
+ setUltimaModificacion(Calendar) : void
+ setUsuario(Usuario) : void
RecursoFinanciero
- cantidad: BigDecimal
- descripcion: String
- id: Integer
- institucion: InstitucionEducativa
- tipo: TipoRecurso
+ getCantidad() : BigDecimal
+ getDescripcion() : String
+ getId() : Integer
+ getInstitucion() : InstitucionEducativa
+ getLabelRecurso() : String
+ getTipo() : TipoRecurso
+ setCantidad(BigDecimal) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ setInstitucion(InstitucionEducativa) : void
+ setTipo(TipoRecurso) : void
RecursoMaterial
- cantidad: BigDecimal
- descripcion: String
- id: Integer
- institucion: InstitucionEducativa
- tipo: TipoRecurso
+ getCantidad() : BigDecimal
+ getDescripcion() : String
+ getId() : Integer
+ getInstitucion() : InstitucionEducativa
+ getLabelRecurso() : String
+ getTipo() : TipoRecurso
+ setCantidad(BigDecimal) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ setInstitucion(InstitucionEducativa) : void
+ setTipo(TipoRecurso) : void
98
Figura 42. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.modelo.persona”
class persona
DatosPersonales
- apellidoMaterno: String
- apellidoPaterno: String
- email: String
- id: Integer
- nombre: String
- sexo: Sexo
- telefono: String
+ getApellidoMaterno() : String
+ getApellidoPaterno() : String
+ getEmail() : String
+ getId() : Integer
+ getNombre() : String
+ getNombreCompleto() : String
+ getSexo() : Sexo
+ getTelefono() : String
+ setApellidoMaterno(String) : void
+ setApellidoPaterno(String) : void
+ setEmail(String) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ setSexo(Sexo) : void
+ setTelefono(String) : void
99
Figura 43. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.modelo.seguridad”
class seguridad
Accion
- clave: String
- descripcion: String
- id: Integer
+ equals(Object) : boolean
+ getClave() : String
+ getDescripcion() : String
+ getId() : Integer
+ hashCode() : int
+ setClave(String) : void
+ setDescripcion(String) : void
+ setId(Integer) : void
+ toString() : String
AutorizacionUsuario
- accion: Accion
- id: Integer
- usuario: Usuario
+ getAccion() : Accion
+ getId() : Integer
+ getUsuario() : Usuario
+ setAccion(Accion) : void
+ setId(Integer) : void
+ setUsuario(Usuario) : void
Usuario
- activo: boolean = true
- datosPersonales: DatosPersonales
- id: Integer
- nombre: String
- password: String
+ getDatosPersonales() : DatosPersonales
+ getId() : Integer
+ getNombre() : String
+ getPassword() : String
+ isActivo() : boolean
+ setActivo(boolean) : void
+ setDatosPersonales(DatosPersonales) : void
+ setId(Integer) : void
+ setNombre(String) : void
+ setPassword(String) : void
-usuario
-accion
100
Figura 44. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.seguridad”
class seguridad
«interface»
FachadaContextoSeguridad
+ getContext() : SecurityContext
+ getUsuario() : Usuario
+ setContext(SecurityContext) : void
FachadaContextoSeguridadImpl
- fachadaUsuario: FachadaUsuario
- LOGGER: Logger = LoggerFactory.g... {readOnly}
+ getContext() : SecurityContext
+ getFachadaUsuario() : FachadaUsuario
+ getUsuario() : Usuario
+ setContext(SecurityContext) : void
+ setFachadaUsuario(FachadaUsuario) : void
User
UserCustom
- usuario: Usuario
+ getUsuario() : Usuario
+ setUsuario(Usuario) : void
+ toString() : String
+ UserCustom(String, String, boolean, boolean, boolean, boolean, Collection<GrantedAuthority>)
+ UserCustom(String, String, boolean, boolean, boolean, boolean, Collection<GrantedAuthority>, Usuario)
UserDetailsFactory
- fachadaAutorizacion: FachadaAutorizacion
- LOGGER: Logger = LoggerFactory.g... {readOnly}
- roleHierarchy: RoleHierarchy
+ getInstance(Usuario) : UserDetails
UserDetailsService
UserDetailsServ iceCustomImplementation
- fachadaUsuario: FachadaUsuario
- LOGGER: Logger = LoggerFactory.g... {readOnly}
- userDetailsFactory: UserDetailsFactory
+ loadUserByUsername(String) : UserDetails
-userDetailsFactory
101
Figura 45. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.spring”
Figura 46. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.util”
class spring
BeanFactory
- context: ApplicationContext = new ClassPathXm...
+ getBean(Class<T>, String) : T
class util
EncuestaUtil
- LOGGER: Logger = LoggerFactory.g... {readOnly}
- addCorrdinadores(List<String>, String) : List<String>
- addOtrosCatalogos(List<ValorOtroCatalogo>, String, String) : List<ValorOtroCatalogo>
+ creaMapaNavegacionEncuesta() : Map<Integer, String>
+ generaEncuestaFinal(Encuesta, CoordinadorModel, OtroCatalogoModel) : Encuesta
- getCorrdinadores(CoordinadorModel) : List<String>
- getOtrosCatalogos(OtroCatalogoModel) : List<ValorOtroCatalogo>
- getProyectos(List<ProyectoEncuesta>) : List<ProyectoEncuesta>
- getRecursos(List<RecursoEncuesta>) : List<RecursoEncuesta>
102
Figura 47. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows”
class windows
SelectorComposer
CatalogosEncuestaModel
# catalogos: FachadaCatalogos
+ getCargos() : List<Cargo>
+ getCarreras() : List<CarreraAeroespacial>
+ getCatalogos() : FachadaCatalogos
+ getCursos() : List<CursoAeroespacial>
+ getEntidades() : List<EntidadAeroespacial>
+ getGrados() : List<Grado>
+ getInstituciones() : List<InstitucionEducativa>
+ getLineasInvestigacion() : List<LineaInvestigacion>
+ getProyectos() : List<ProyectoEncuesta>
- getRecursos(String) : List<RecursoEncuesta>
+ getRecursosFinancieros() : List<RecursoEncuesta>
+ getRecursosHumanos() : List<RecursoEncuesta>
+ getRecursosMateriales() : List<RecursoEncuesta>
+ getServicios() : List<ServicioAeroespacial>
+ getSexos() : List<Sexo>
+ getTecnologias() : List<TecnologiaAeroespacial>
+ setCatalogos(FachadaCatalogos) : void
EncuestaFormViewModel
- coordinador: CoordinadorModel = new Coordinador...
- encuesta: Encuesta
- encuestaServices: EncuestaServices
# fachadaCatalogos: FachadaCatalogos
- LOGGER: Logger = LoggerFactory.g... {readOnly}
- navegacion: Map<Integer, String> = EncuestaUtil.cr...
- otroCatalogo: OtroCatalogoModel = new OtroCatalog...
- PAGINA_FIN: String = "/encuesta/fin.zul" {readOnly}
- paginaActual: Integer = 1
+ continuar(Component) : void
+ encuestaCompleta(Component, Component) : void
+ finalizar() : void
- generaEncuestaVacia() : Encuesta
+ getCoordinador() : CoordinadorModel
+ getEncuesta() : Encuesta
+ getOtroCatalogo() : OtroCatalogoModel
+ init() : void
- obtenComponente(Component, String) : Component
+ regresar(Component, Component) : void
+ setCoordinador(CoordinadorModel) : void
+ setEncuesta(Encuesta) : void
+ setOtroCatalogo(OtroCatalogoModel) : void
SelectorComposer
ModalController
- serialVersionUID: long = -12430662980758... {readOnly}
+ showModal(Event) : void
103
Figura 48. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows.header”
Figura 49. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows.iniciativa”
class header
SelectorComposer
HeaderViewModel
- fachadaContextoSeguridad: FachadaContextoSeguridad
- nombre: String
+ getNombre() : String
+ init() : void
+ setNombre(String) : void
class iniciativ a
SelectorComposer
Iniciativ aViewModel
- fachadaAcademico: FachadaAcademico
- fachadaContextoSeguridad: FachadaContextoSeguridad
- fachadaIniciativa: FachadaIniciativa
- fachadaRecurso: FachadaRecurso
- iniciativaNueva: Iniciativa
- iniciativaRecursos: Iniciativa
- iniciativas: List<Iniciativa>
- iniciativaServices: IniciativaServices
- LOGGER: Logger = LoggerFactory.g... {readOnly}
- selectedIniciativa: Iniciativa
- creaIniciativaIni() : Iniciativa
+ crear(Component) : void
+ editar(Component) : void
- getAcademicosNoUtil izados() : Set<Academico>
- getElementos(Class<T>, Component, String, String) : Set<T>
+ getIniciativaNueva() : Iniciativa
+ getIniciativaRecursos() : Iniciativa
+ getIniciativas() : List<Iniciativa>
- getRecursosFinancierosNoUtil izados() : Set<RecursoFinanciero>
- getRecursosMaterialesNoUtil izados() : Set<RecursoMaterial>
+ getSelectedIniciativa() : Iniciativa
- getTextBox(Component, String) : Textbox
- inicializaIniciativa() : void
+ init() : void
- muestaEdicion(Component) : void
+ nueva(Component) : void
+ regresar(Component) : void
+ setIniciativaNueva(Iniciativa) : void
+ setIniciativaRecursos(Iniciativa) : void
+ setIniciativas(List<Iniciativa>) : void
+ setSelectedIniciativa(Iniciativa) : void
104
Figura 50. Diagrama de clases paquete “mx.edu.ipn.upiicsa.sepi.sipaep.view.ctrl.windows.model”
class model
Serializable
CoordinadorModel
- coordinador1: String
- coordinador2: String
- coordinador3: String
- coordinador4: String
- coordinador5: String
+ getCoordinador1() : String
+ getCoordinador2() : String
+ getCoordinador3() : String
+ getCoordinador4() : String
+ getCoordinador5() : String
+ setCoordinador1(String) : void
+ setCoordinador2(String) : void
+ setCoordinador3(String) : void
+ setCoordinador4(String) : void
+ setCoordinador5(String) : void
OtroCatalogoModel
- otraCarrera: String
- otraEntidadConsume: String
- otraEntidadProduce: String
- otraTecnologia: String
- otraUnidad: String
- otroCurso: String
- otroServicio: String
+ getOtraCarrera() : String
+ getOtraEntidadConsume() : String
+ getOtraEntidadProduce() : String
+ getOtraTecnologia() : String
+ getOtraUnidad() : String
+ getOtroCurso() : String
+ getOtroServicio() : String
+ setOtraCarrera(String) : void
+ setOtraEntidadConsume(String) : void
+ setOtraEntidadProduce(String) : void
+ setOtraTecnologia(String) : void
+ setOtraUnidad(String) : void
+ setOtroCurso(String) : void
+ setOtroServicio(String) : void
105
4.2.3 Diagrama de componentes El diagrama de componentes que se muestra a continuación ilustra los grupos de
elementos de software que componen el sistema en forma de artefactos de
despliegue. Dicha información es necesaria para el mantenimiento de la aplicación o
la posibilidad de extender la funcionalidad con la que cuenta actualmente.
Figura 51. Diagrama de componentes del SIPAEP
4.2.4 Modelo físico de la base de datos El modelo físico de la base de datos representa la distribución, relaciones y atributos
de la base de datos que conforman el SIPAEP. Dicha información es valiosa ya que es
la base de todo el sistema, puesto que la información que almacena es fundamental
cmp Use Cases
mx.edu.ipn.upiicsa.sepi.sipaep.cargadormx.edu.ipn.upiicsa.sepi.sipaep.core
mx.edu.ipn.upiicsa.sepi.sipaep.daomx.edu.ipn.upiicsa.sepi.sipaep.modelo
mx.edu.ipn.upiicsa.sepi.sipaep.v iew
cargadorencuesta iniciativa
usuario
catalogo encuesta
iniciativa seguridad
catalogo encuesta iniciativa
persona seguridad
seguridad util windows
106
para la generación de iniciativas por parte de los usuarios. Para consultar el detalle
del modelo ver anexo B.
4.3 Diseño de interfaces En esta sección se muestran los diseños de las diversas pantallas que conforman el
SIPAEP; es decir se representa la interfaz con la que el usuario interactúa. Dichas
interfaces están implementadas con ZK, aunque pueden ser visualizadas en cualquier
dispositivo.
En la pantalla principal se muestra al usuario una animación que presenta la imagen
institucional del PAEP, misma que es re direccionada hacia la página principal del
módulo de encuestas.
Figura 52. Pantalla de bienvenida del SIPAEP
Una vez en la pantalla principal de aplicación de encuestas, se muestra al usuario un
mensaje de bienvenida.
107
Figura 53. Mensaje de bienvenida al usuario encuestado
Una vez en la página principal de encuestas, se presenta al usuario un primer
formulario para que introduzca su información personal y determine si está
interesado en participar en la encuesta, o no.
Figura 54. Pantalla de captura de datos personales
108
En caso de que el usuario no esté interesado en participar en la encuesta se muestra
un mensaje de agradecimiento por su participación y se concluye el cuestionario.
Figura 55. Pantalla de agradecimiento por participar en la encuesta
En el caso de que el usuario si esté interesado en contestar el cuestionario, se le
presenta un siguiente formulario que, de acuerdo al perfil que indicó en el formulario
de datos personales, contiene preguntas específicas relacionadas al ámbito
aeroespacial. A continuación se presentan las pantallas para el perfil directivo.
109
Figura 56. Formulario uno de encuesta para perfil directivo
El cuestionario consta de varios formularios que se presentan al usuario de forma
agrupada de acuerdo al tema que se trate.
110
Figura 57. Formulario dos de encuesta para perfil directivo
Las preguntas que se aplican al usuario pueden ser abiertas o cerradas, estas últimas
se utilizarán posteriormente, en el generador de iniciativas, como parámetros de
filtrado.
111
Figura 58. Formulario tres de encuesta para perfil directivo
Las respuestas que ingresa el usuario son almacenadas en la base de datos de tal
forma que en cualquier momento es posible conocer todas las respuestas que
determinado usuario ingresó en el sistema.
112
Figura 59. Formulario cuatro de encuesta para perfil directivo
En el caso de que el usuario tenga un perfil de investigador o docente se le aplicará
una encuesta distinta, que trata sobre temas como líneas de investigación,
experiencia, proyectos realizados y, en general información relativa a la persona vista
como recurso humano potencial para participar en proyectos del ámbito
aeroespacial.
113
Figura 60. Formulario uno de encuesta para perfil investigador
Al igual que en el perfil directivo, las preguntas están agrupadas de acuerdo al tópico
al que se refieren y son presentadas al usuario por medio de distintos formularios, los
cuales cuentan con la funcionalidad de navegación hacia adelante o atrás en caso de
que el usuario quisiese cambiar la respuesta de alguna pregunta ya contestada.
114
Figura 61. Formulario dos de encuesta para perfil investigador
Una vez que el usuario termina de contestar el cuestionario, se le muestra en pantalla
el mismo mensaje de agradecimiento por su interés y participación en la encuesta
que se presenta para el perfil directivo e incluso para aquellos usuarios que no
desearon participar.
115
Figura 62. Formulario tres de encuesta para perfil investigador
En una dirección web independiente a la de los cuestionarios se encuentra el acceso
al sistema para administradores, el cual permite, entre otras cosas, gestionar los
catálogos que almacenan la información que se presenta al usuario en los
cuestionarios, tales como unidades académicas, dependencias, líneas de
investigación, entre otras. Si el usuario administrador decide modificar algún catálogo
o incorporar nueva información al mismo, este cambio se reflejará de manera
automática a todos los usuarios que ingresen al cuestionario posterior al cambio
realizado. Esto sin necesidad de reiniciar la aplicación web.
116
Figura 63. Pantalla de inicio de sesión para perfil administrador
Otra característica con que cuenta la administración de catálogos es la gestión de
usuarios, en este aparado es posible dar de alta, baja o modificar la información
relacionada a los usuarios que tienen permisos de acceso al sistema con perfil de
administrador.
117
Figura 64. Pantalla de administración de catálogos
La implementación del manejo de sesión y la seguridad en la autenticación de los
usuarios administradores al sistema se realiza por medio de Spring.
118
Figura 65. Pantalla de administración de usuarios
Por último se cuenta con el módulo de generación de iniciativas, el cual presenta un
área de trabajo independiente para cada usuario registrado en el sistema, es decir,
cada usuario puede tener guardados en el sistema sus iniciativas, modificarlas o
borrarlas en el momento que así lo decida, de forma independiente a otros usuarios.
119
Figura 66. Pantalla principal de generación de iniciativas
La forma que se generan las iniciativas es arrastrando el recurso deseado (humano,
financiero o material) hacia las casillas correspondientes de la iniciativa; de este modo
una iniciativa puede contar con varios recursos de un mismo tipo. Adicional a lo
anterior el usuario debe ingresar algunos datos extra como nombre de la iniciativa,
objetivo, entre otros.
Una vez realizada la iniciativa el usuario tiene la opción de guardarla en el sistema o
exportarla a un formato de Word o PDF para su manejo.
120
Figura 67. Pantalla espacio de trabajo para generar iniciativas
Una vez que el usuario haya generado una iniciativa y almacenado en el sistema se le
muestra un cuadro de texto confirmando la operación.
122
C O N C L U S I O N E S
Con el desarrollo del presente trabajo se logró elaborar un sistema que utiliza la
ingeniería de software como herramienta fundamental para el análisis, diseño e
implementación del mismo. Una de las premisas fundamentales del proyecto es la
reutilización y extensibilidad de la funcionalidad del sistema, es decir, que sea lo
suficientemente flexible para adaptarse a las necesidades futuras de los usuarios. Esto
se logró por medio de la utilización de frameworks y buenas prácticas de diseño y
programación; esto brinda una plataforma robusta y adaptable.
Asimismo el SIPAEP satisface la necesidad fundamental de centralizar información
para, a partir de ella, poder tomar decisiones de una forma más flexible y adaptable
en el ámbito de la generación de iniciativas de proyectos.
La implementación del SIPAEP incorpora mecanismos de programación avanzada que
permiten reducir el acoplamiento entre componentes y elevar la cohesión de los
mismos, lo que se traduce en módulos más adaptables. Podemos mencionar la
inyección de dependencias, la programación orientada a aspectos y el modelado de
bases de datos a partir de objetos relacionales como los mecanismos fundamentales
en los que se basa el sistema.
Un punto importante que cabe destacar es la portabilidad con que cuenta el sistema
entre distintas plataformas y a su vez la interactividad con la que cuenta su interfaz. El
uso de ZK como front-end permitió el desarrollo de una interfaz compleja en una
cantidad de tiempo menor con respecto al uso de otras tecnologías.
La arquitectura con que cuenta el SIPAEP no se limita al ámbito aeroespacial
únicamente, sino que su funcionalidad puede ser extendida para utilizarlo, bajo
ciertas condiciones, en el análisis de información de cualquier índole.
Un riesgo importante que estuvo presente durante la ejecución del proyecto fue la
falta de definición en el requerimiento inicial y los constantes cambios que un
proyecto de reciente creación tiene comúnmente. Dicho riesgo fue mitigado por
medio de la constante actualización tanto del sistema como de su documentación.
Estas actualizaciones se basaron en el seguimiento puntual de los cambios que el
PAEP fue teniendo a lo largo de su consolidación.
La metodología incremental iterativa que se utilizó en el desarrollo del presente
trabajo facilitó las modificaciones y refactorización que se tuvo que realizar para
adaptar el sistema a los cambio de alcance en el mismo. Esto debido a que en cada
iteración se contaba con componentes de software completamente funcionales con
123
pruebas unitarias automatizadas lo que contribuyó a reducir los riesgos de impacto a
otros módulos del sistema de forma no prevista.
124
P E R S P E C T I V A S Como parte de las perspectivas a futuro del SIPAEP se identifican las siguientes:
Agregar un módulo editor de cuestionarios para poder diseñarlos por medio
del mismo sistema y que su publicación sea en tiempo real.
Mejorar el diseño de las iniciativas que se generan a través del sistema.
Ampliar la información que proporciona el generador de iniciativas acerca de
los recursos humanos, materiales y financieros por medio de la inclusión de
contenido multimedia como fotografías de las personas, instalaciones,
equipo, etc.; mostrar la ubicación geográfica de las instalaciones por medio
de mapas satelitales entre otros.
En caso de que algún proyecto propuesto mediante el SIPAEP se lleve a cabo,
es deseable implementar un módulo que automatice el contacto con las
personas o instituciones involucradas en el proyecto; esto mediante correo
electrónico.
Implementar el sistema en un ambiente productivo.
a
B I B L I O G R A F Í A
1. Departamento de Comercio de los Estados Unidos. Census Bureau. [En línea]
2007. [Citado el: 20 de Febrero de 2010.]
http://www.census.gov/hhes/socdemo/education/data/cps/2012/tables.html.
2. Eurostat. External and Intra-European Union Trade Montly Statics Issue. [En línea]
2009. [Citado el: 24 de Enero de 2010.]
http://epp.eurostat.ec.europa.eu/portal/page/portal/international_trade/documents
/ExtraIntraMonthlyEUTrade_ENVol12-20111.pdf.
3. Secretaría de Economía Dirección General de Industrias Pesadas. Industria. [En
línea] 2009. [Citado el: 22 de Enero de 2010.]
http://www.economia.gob.mx/files/guia_simple/415_dir_gral_ind_pesadas_alta_tec
_2013_0322.pdf.
4. Cámara de Comercio de Filadelfia. Connecting the Greater Philadelphia. [En línea]
2003. [Citado el: 20 de Abril de 2010.]
http://www.greaterphilachamber.com/programs-and-events/55/economic-regional-
updates/29380/adfs.
5. Unidad de Inteligencia de Negocios ProMéxico. Proyectos de Fondo ProMéxico.
[En línea] 2009. [Citado el: 22 de Enero de 2010.]
http://www.promexico.gob.mx/work/models/promexico/Resource/1002/1/images/f
act%20as_esp.pdf.
6. Businessweek. Businessweek y Anuies. [En línea] 2009. [Citado el: 21 de
Septiembre de 2011.] http://www.businessweek.com/articles/2011-04-24/a-fix-for-
faa-flight-delays-at-us-airways-theyre-hopeful.
7. Dirección General de Comercio Interior y Economía Digital. Agenda de
Competitividad Logística 2008 – 2012. [En línea] 2008. [Citado el: 30 de Marzo de
2012.]
http://www.elogistica.economia.gob.mx/work/models/elogistica/Resource/1/1/imag
es/LOGISTICA0812.pdf.
8. ProMéxico. Plan de vuelo nacional: Mapa de ruta tecnológico de la industria
Aeroespacial Mexicana. [En línea] 2009. [Citado el: 22 de Enero de 2010.]
http://www.promexico.gob.mx/work/models/promexico/Resource/1983/1/images/P
lanVueloNacionalV1.pdf.
b
9. Universidad de Greenwich. The Second NACRE Conference. [En línea] Escuela
Ciencias Matemáticas y de Cómputo, 2010. [Citado el: 13 de Mayo de 2011.]
http://fseg.gre.ac.uk/nacre/details.html.
10. Glenn, Watson. ALCAS- Advanced Low-Cost Aircraft Structures. [En línea] 2007.
http://uko.tubitak.gov.tr/ToplantiDokumanlari/1ce6048b-d9d5-4aae-ab8a-
ffb069ea312.pdf.
11. Scarlett Steering Committee. SCARLETT: Context, Objetives and Structure. [En
línea] 2009. [Citado el: 04 de Marzo de 2010.]
http://www.scarlettproject.eu/about/Project_Overview.pdf.
12. Ist World. Human Integration into the Life-cycle of Aviation Systems. [En línea]
2009. [Citado el: 23 de Enero de 2010.]
http://ec.europa.eu/research/transport/projects/items/hilas_en.htm.
13. COMEA. Consejo Mexicano de Educación Aeroespacial. [En línea] 2009. [Citado el:
09 de Febrero de 2010.]
http://www.promexico.gob.mx/es_i0/promexico/Aeroespacial.
14. CONACYT. CONACYT Home Page. [En línea] 2013. [Citado el: 20 de Abril de 2013.]
www.conacyt.mx/.
15. Manufactura.mx. Subsidios para certificación aeroespacial. [En línea] 2013.
http://www.manufactura.mx/industria/2013/02/20/subsidios-para-certificacion-
aeroespacial.
16. ProMéxico. Sesión de grupo foco del Grupo de Trabajo Unidad de Inteligencia de
Negocios. [En línea] 2009. [Citado el: 21 de Enero de 2010.]
http://www.promexico.gob.mx/work/models/promexico/Resource/1983/1/images/
manufactura%20avanzada_esp.pdf.
17. Gobierno de Baja California. Secretaría de desarrollo económico. [En línea] 2011.
[Citado el: 20 de Abril de 2013.]
http://www.bajacalifornia.gob.mx/sedeco/2008/noticias/2011/agosto/24082011.htm
l.
18. Secretaría de Hacienda y Crédito Público. Cinta de aduanas. [En línea] 2008.
[Citado el: 14 de Marzo de 2011.]
http://www.aduanas.gob.mx/aduana_mexico/resultsAPF.html?q=aeroespacial&client
=aduanas.
19. Rodríguez, E. A. Cinvestav-Tamaulipas. [En línea] Septiembre de 2012. [Citado el:
10 de Diciembre de 2012.]
http://www.tamps.cinvestav.mx/~ertello/swe/sesion01.pdf.
c
20. Sommerville, I. Ingeniería del software. Séptima. s.l. : Addison Wesley, 2005.
21. Pressman, R. S. Ingenieria del software. Un enfoque práctico. Sexta. s.l. : Mc Graw
Hill, 2005.
22. Shaw, M. Software Architecture. s.l. : Prentice-Hall, 1996.
23. Bass, L. Software Architecture in Practice. Segunda. s.l. : Addison-Wesley, 2003.
24. Mattison, R. Data Warehousing: Strategies, Technologies, and Techniques. s.l. :
McGraw-Hill, 1996.
25. Wasserman, A. Principles of Systematic Data Design and implementation. Tercera.
s.l. : IEEE Computer Society Press, 1980. págs. 287-293.
26. Buschmann, F. Pattern-Oriented Software Architecture in Practice. Segunda. s.l. :
Weley, 1996.
27. OMG Unified Modeling Specification. Object Management Group. s.l. : OMG,
2001.
28. Lethbridge, T. Object-Oriented Software Engineering: Practical Software
Development using UML and Java. s.l. : McGraw-Hill, 2001.
29. Murugesan, S. WebE Home Page. [En línea] Julio de 1999. [Citado el: 27 de Marzo
de 2010.] http://fistserv.macarthur.uws.edu.au/san/WebEHome.
30. Powell, T.A. Web Site Engineering. s.l. : Prentice Hall, 1998.
31. Web Engineering or WebGardening? Lowe, D. 2, Enero de 1999, WebNet Journal,
Vol. I.
32. Instituto Politécnico Nacional. Centro de Desarrollo Aeroespacial. [En línea] 2012.
[Citado el: 22 de Agosto de 2010.] http://www.cda.ipn.mx/Paginas/inicio.aspx.
33. Apache Maven Project. What is maven? [En línea] 2013. [Citado el: 20 de Abril de
2013.] http://maven.apache.org/what-is-maven.html.
34. Oracle. Introduction to the Java Persistence API. [En línea] 2013. [Citado el: 23 de
Abril de 2013.] http://docs.oracle.com/javaee/5/tutorial/doc/bnbpz.html.
35. SpringSource Community. Get started whit Spring. [En línea] 2013. [Citado el: 23
de Abril de 2013.] http://www.springsource.org/get-started.
36. zkoss.org. ZK Framework Documentation. [En línea] 2013. [Citado el: 22 de Abril
de 2013.] http://www.zkoss.org/documentation#Getting_Started zkoss.org.
d
37. JUnit.org. Getting Started with JUnit. [En línea] 2013. [Citado el: 22 de Abril de
2013.] https://github.com/junit-team/junit/wiki.
38. Gülcü, C. The complete manual log4j. [En línea] 2010. [Citado el: 09 de Marzo de
2013.] http://logging.apache.org/log4j/1.2/manual.html.
39. Fowler, Martin. UML gota a gota. s.l. : Pearson Education, 1999.
e
A N E X O S
Anexo A. Decreto para la creación de la Agencia Espacial Mexicana
DECRETO por el que se expide la Ley que crea la Agencia Espacial Mexicana.
Al margen un sello con el Escudo Nacional, que dice: Estados Unidos Mexicanos.- Presidencia de la República.
FELIPE DE JESÚS CALDERÓN HINOJOSA, Presidente de los Estados Unidos Mexicanos, a sus habitantes sabed:
Que el Honorable Congreso de la Unión, se ha servido dirigirme el siguiente
DECRETO
"EL CONGRESO GENERAL DE LOS ESTADOS UNIDOS MEXICANOS, D E C R E T A :
SE EXPIDE LA LEY QUE CREA LA AGENCIA ESPACIAL MEXICANA.
ARTÍCULO ÚNICO. Se expide la Ley que crea la Agencia Espacial Mexicana.
CAPÍTULO I
Disposiciones Generales
Artículo 1. Se crea la Agencia Espacial Mexicana como organismo público descentralizado, con personalidad jurídica y
patrimonio propio y con autonomía técnica y de gestión para el cumplimiento de sus atribuciones, objetivos y fines.
El organismo formará parte del sector coordinado por la Secretaría de Comunicaciones y Transportes. Su domicilio
legal será la Ciudad de México, Distrito Federal, sin perjuicio de establecer oficinas y domicilios convencionales en
cualquier parte del país.
Artículo 2. La Agencia Espacial Mexicana tendrá por objeto:
I. Formular y proponer al titular de la Secretaría de Comunicaciones y Transportes las líneas generales de la Política
Espacial de México, así como el Programa Nacional de Actividades Espaciales;
II. Ejecutar la Política Espacial de México, a través de la elaboración y aplicación del Programa Nacional de Actividades
Espaciales;
III. Promover el efectivo desarrollo de actividades espaciales para ampliar las capacidades del país en las ramas
educativa, industrial, científica y tecnológica en materia espacial;
IV. Desarrollar la capacidad científico-tecnológica del país a través de la articulación de los sectores involucrados en
todos los campos de la actividad espacial que hagan posible su actuación en un marco de autonomía nacional en la
materia;
V. Promover el desarrollo de los sistemas espaciales y los medios, tecnología e infraestructura necesarios para la
consolidación y autonomía de este sector en México;
f
VI. Facilitar la incorporación de los sectores relacionados a esta política y particularmente la participación del sector
productivo, a fin de que éste adquiera competitividad en los mercados de bienes y servicios espaciales;
VII. Promover una activa cooperación internacional mediante acuerdos que beneficien a las actividades espaciales y
que permitan la integración activa de México a la Comunidad Espacial Internacional;
VIII. Servir como instrumento de la rectoría del Estado en este sector, a fin de fortalecer la soberanía;
IX. Velar por el interés y seguridad nacionales, mediante una estrategia que integre conocimiento científico y
tecnológico, eficiencia, experiencia y capacidad de coordinación entre las entidades públicas de la Administración
Pública Federal;
X. Garantizar y preservar el interés público y la protección de la población, como fundamentos del desarrollo,
seguridad, paz y prevención de problemas de seguridad nacional en México, y
XI. Recibir de las entidades públicas, privadas y sociales, propuestas y observaciones en el área espacial para su
estudio y consideración.
Artículo 3. Son instrumentos de la Política Espacial de México:
I. La selección de alternativas tecnológicas para la solución de problemas nacionales;
II. El desarrollo de soluciones propias para problemas específicos;
III. La utilización de información y tecnología generada en las áreas espaciales y relacionadas, que sean de interés y
para el beneficio de la sociedad mexicana;
IV. Negociaciones, acuerdos y tratados internacionales en materias relacionadas con las actividades espaciales;
V. Las investigaciones en materia espacial y la formación de recursos humanos de alto nivel, así como la
infraestructura necesaria para dicho fin;
VI. El reconocimiento de la importancia que para la economía, la educación, la cultura y la vida social, tiene el
desarrollo, apropiación y utilización de los conocimientos científicos y desarrollos tecnológicos asociados a la
investigación espacial;
VII. El intercambio académico entre instituciones de investigación científica y tecnológica nacionales y extranjeras;
VIII. El intercambio científico, tecnológico y de colaboración con otras agencias espaciales;
IX. La participación de las empresas mexicanas con la capacidad tecnológica necesaria para proveer de equipos,
materiales, insumos y servicios que requieran proyectos propios o de agencias con las que se tengan protocolos de
intercambio y colaboración, y
X. La adecuación del sector productivo nacional para participar y adquirir competitividad en los mercados de bienes y
servicios espaciales.
Artículo 4. Para el cumplimiento de su objeto, la Agencia tendrá las siguientes funciones:
I. Impulsar estudios y desarrollo de investigaciones científicas y tecnológicas en la materia y en las áreas prioritarias de
atención definidas en el Programa Nacional de Actividades Espaciales;
II. Establecer y desarrollar actividades de vinculación con instituciones nacionales de carácter académico, tecnológico
y profesional dedicadas a estudios de especialidades relacionadas con la materia;
III. Promover el desarrollo de actividades espaciales para ampliar las capacidades del país, tanto en esta materia como
en lo que a la industria aeronáutica, las telecomunicaciones y todas sus aplicaciones relacionadas con la ciencia y la
tecnología espacial corresponde;
g
IV. Apoyar la adecuación de los sectores relacionados con la política espacial, particularmente el productivo, para que
se incorporen y participen competitivamente en los mercados de bienes y servicios espaciales;
V. Promover la formación, el acercamiento y la colaboración entre instituciones, organismos públicos y privados
nacionales, extranjeros o internacionales, que realicen actividades en materia espacial, así como el desarrollo de los
sistemas espaciales y los medios, tecnología, infraestructura y formación de los recursos humanos necesarios para la
consolidación y autonomía de este sector en México;
VI. Promover la firma de tratados internacionales de carácter bilateral y multilateral, y asesorar al Gobierno Federal en
la implementación de los mismos, así como en la interpretación de textos internacionales relativos;
VII. Diseñar estrategias e instrumentos para el desarrollo del conocimiento, difusión y aplicación de las ciencias y
tecnologías asociadas a la investigación espacial, en coordinación con dependencias de los tres órdenes de gobierno,
así como con las instancias de la iniciativa privada y organizaciones de la sociedad civil interesadas;
VIII. Definir y promover programas, proyectos y acciones para fortalecer conocimiento y el desarrollo de la
investigación espacial, su influencia en la vida cotidiana y sus potencialidades como factor de desarrollo económico;
IX. Impulsar investigaciones a través de las instituciones de investigación básica y aplicada y/o empresas
especializadas, así como la difusión de sus resultados y aplicaciones;
X. Realizar investigaciones, trabajos, peritajes y emitir opiniones de carácter técnico, científico y legal sobre la materia;
XI. Impulsar la formación de especialistas en materia espacial y sus disciplinas afines, mediante la vinculación de
actividades y programas de licenciatura, posgrado, diplomados y cursos de especialización, actualización y
capacitación;
XII. Formular y realizar proyectos de difusión y educativos en la materia, así como elaborar y promover la producción
de materiales de divulgación;
XIII. Crear y operar un sistema de información y consulta en la materia; llevar el registro nacional de las actividades
relativas y promover el desarrollo y la educación espacial formal, así como la divulgación de estudios sobre
investigación espacial, y
XIV. Las demás que se deriven de los ordenamientos jurídicos y administrativos aplicables en la materia.
Artículo 5. Son atribuciones de la Agencia Espacial Mexicana:
I. Coordinar el desarrollo de los sistemas de normalización, acreditación y certificación en la materia, en colaboración
con las dependencias nacionales y organismos extranjeros e internacionales competentes;
II. Difundir lo dispuesto en la Constitución, esta Ley y los tratados internacionales ratificados por México en la materia,
para aprovechar las oportunidades de desarrollo que puedan permitir estos últimos, y expedir a los tres órdenes de
gobierno recomendaciones pertinentes para su desarrollo y aprovechamiento;
III. Promover y apoyar la creación y funcionamiento de instancias afines en los estados y municipios, conforme a las
leyes aplicables en las entidades federativas y de acuerdo a sus realidades, necesidades y capacidades de participación
en proyectos;
IV. Formular el Programa Nacional de Actividades Espaciales, gestionar y ejercer el presupuesto necesario para la
realización de sus fines, así como procurar fuentes alternas de financiamiento;
V. Asesorar y resolver consultas que le formulen instituciones y dependencias de los diferentes órdenes y ramas de
gobierno, sobre los problemas relativos a concesiones, permisos y autorizaciones de uso, desarrollo y aplicaciones
tecnológicas en materia espacial;
VI. Realizar eventos científicos y tecnológicos en materia espacial, donde participen integrantes de la Agencia y
especialistas invitados nacionales y extranjeros;
h
VII. Proponer la designación de los representantes del país ante las instancias internacionales en materia espacial de
las que México sea parte y establecer la postura nacional en materia de su competencia;
VIII. Realizar y participar en acciones y eventos científicos y tecnológicos en materia espacial, con el fin de incrementar
la competencia técnico científica nacional, y
IX. Ejecutar todos los demás actos análogos que impliquen la realización de sus atribuciones.
CAPÍTULO II
Organización y Funcionamiento
Artículo 6. La Agencia contará con los siguientes órganos de administración y gobierno:
I. Junta de Gobierno;
II. Dirección General;
III. Órgano de Vigilancia, y
IV. Las estructuras técnicas y administrativas que se establezcan en el Estatuto Orgánico.
Artículo 7. La Junta de Gobierno de la Agencia Espacial Mexicana estará integrada por 15 miembros, que serán:
I. El titular de la Secretaría de Comunicaciones y Transportes, quien la presidirá;
II. Un representante de la Secretaría de Gobernación que deberá tener nivel de subsecretario;
III. Un representante de la Secretaría de Relaciones Exteriores que deberá tener nivel de subsecretario;
IV. Un representante de la Secretaría de Educación Pública que deberá tener nivel de subsecretario;
V. Un representante de la Secretaría de Hacienda y Crédito Público que deberá tener nivel de subsecretario;
VI. Un representante de la Secretaría de la Defensa Nacional que deberá tener nivel de subsecretario;
VII. Un representante de la Secretaría de Marina que deberá tener nivel de subsecretario;
VIII. El titular del Consejo Nacional de Ciencia y Tecnología;
IX. El Rector de la Universidad Nacional Autónoma de México;
X. El Director General del Instituto Politécnico Nacional;
XI. El Presidente de la Academia Mexicana de Ciencias;
XII. El Presidente de la Academia de Ingeniería;
XIII. El Presidente de la Academia Nacional de Medicina;
XIV. Un representante de la Asociación Nacional de Universidades e Instituciones de Educación Superior, y
XV. El titular del Instituto Nacional de Estadística y Geografía.
Por cada miembro propietario de la Junta de Gobierno habrá un suplente designado por el titular, quien en su caso
deberá tener el nivel de director general o equivalente. El suplente contará con las mismas facultades que los
propietarios y podrá asistir, con voz y voto, a las sesiones de la Junta, cuando el propietario respectivo no concurra.
i
Artículo 8. La Junta de Gobierno sesionará por lo menos cuatro veces al año y las sesiones que celebre podrán ser
ordinarias y extraordinarias.
Sesionará válidamente con la asistencia de por lo menos ocho de sus miembros; y sus resoluciones serán válidas
cuando sean tomadas por la mayoría de los presentes. Sólo en caso de empate, el presidente de la Junta de Gobierno
decidirá con voto de calidad.
La Junta de Gobierno tendrá un Secretario Técnico y un Prosecretario, quienes serán los responsables de preparar lo
necesario para sus sesiones, integrar las carpetas básicas y dar seguimiento a los acuerdos.
Artículo 9. La Junta de Gobierno tendrá las siguientes facultades indelegables:
I. Formular y proponer al titular de la Secretaría de Comunicaciones y Transportes las líneas generales de la política
espacial de México y, así como el Programa Nacional de Actividades Espaciales;
II. Definir prioridades, conocer y aprobar programas y proyectos de la Agencia;
III. Aprobar recomendaciones, orientaciones y acuerdos de política y acciones en materia espacial;
IV. Proponer y aprobar acciones que aseguren el cumplimiento de tratados, convenciones y acuerdos internacionales
signados y ratificados por México en la materia;
V. Aprobar políticas en materia de evaluación, seguimiento, promoción y orientación de los programas de la Agencia;
VI. Conocer y en su caso aprobar los informes del Director General;
VII. Autorizar los programas y el proyecto de presupuesto de la Agencia, así como las modificaciones en su ejercicio;
VIII. Conocer y en su caso aprobar los estados financieros de la Agencia y autorizar su publicación;
IX. Aprobar acuerdos, bases de coordinación y convenios de colaboración con autoridades y organismos relacionados
con la materia, instituciones académicas, de investigación y asociaciones;
X. Fijar bases y mecanismos de coordinación, participación y colaboración con autoridades e instituciones, particulares
y grupos sociales e instituciones autónomas;
XI. Fijar criterios y bases para crear o ampliar instancias locales afines asociadas;
XII. Analizar y en su caso aprobar el Reglamento, Estatuto Orgánico, Manual de Organización, Manual de
Procedimientos y Manual de Servicios de la Agencia, y
XIII. Las demás que le señalen la presente Ley y otros ordenamientos.
Artículo 10. El Director General de la Agencia será nombrado y removido por el titular del Ejecutivo Federal. El
nombramiento será por un periodo de cuatro años, con posibilidad de un periodo adicional.
Para ser Director General deberán cumplirse los siguientes requisitos:
I. Ser ciudadano mexicano por nacimiento, mayor de 30 años y estar en pleno goce y ejercicio de sus derechos civiles y
políticos;
II. Haber desempeñado cargos de alto nivel decisorio y contar con conocimientos y experiencia en materia técnica y
espacial por lo menos cinco años, y
III. No encontrarse comprendido en alguno de los impedimentos que establecen la Ley Federal de las Entidades
Paraestatales o la Ley Federal de Responsabilidades de los Servidores Públicos.
Artículo 11. Son causas de remoción del Director General, aquellas que marca la Ley Federal de Responsabilidades de
los Servidores Públicos y el marco legal aplicable.
j
Artículo 12. El Director General es el responsable de la conducción, administración y buena marcha de la Agencia, y
tendrá las siguientes facultades:
I. Elaborar el Programa Nacional de Actividades Espaciales y someterlo a la aprobación de la Junta de Gobierno;
II. Celebrar y otorgar toda clase de actos y documentos inherentes a su objeto;
III. Ejercer las más amplias facultades de dominio, administración y pleitos y cobranzas, aun de aquellas que requieran
de autorización especial, según otras disposiciones legales o reglamentarias con apego a la Ley;
IV. Emitir, avalar y negociar títulos de crédito;
V. Formular querellas y otorgar perdón;
VI. Ejercitar y desistirse de acciones judiciales, inclusive del juicio de amparo;
VII. Comprometer asuntos en arbitraje y celebrar transacciones;
VIII. Otorgar poderes generales y especiales con las facultades que le competan, entre ellas las que requieran
autorización o cláusula especial;
IX. Informar a la Junta de Gobierno respecto a sus actividades;
X. Elaborar el proyecto de Reglamento Interno, Estatuto Orgánico, el Manual de Organización General, los de
Procedimientos y de Servicios al Público de la Agencia.
XI. Sustituir y revocar poderes generales o especiales;
XII. Dar seguimiento y cumplimiento a los acuerdos de la Junta de Gobierno, y
XIII. Las demás que le señalen el Estatuto Orgánico, la presente Ley y otros ordenamientos.
Artículo 13. La vigilancia del organismo estará a cargo del Gobierno Federal, por conducto de un Comisario Público
propietario y un suplente, designados por la Secretaría de la Función Pública; lo anterior, sin perjuicio de sus propios
órganos internos de control que sean parte integrante de la estructura del organismo.
El Comisario Público asistirá, con voz pero sin voto, a las sesiones de la Junta de Gobierno.
Artículo 14. El Comisario Público evaluará el desempeño global y por áreas del organismo, su nivel de eficiencia, y el
apego a las disposiciones legales, así como el manejo de sus ingresos y egresos, pudiendo solicitar y estando el
organismo obligado a proporcionar toda la información que requiera para la realización de sus funciones.
Tendrá a su cargo las atribuciones que le confieren los artículos correspondientes de la Ley Federal de las Entidades
Paraestatales, así como las del Reglamento Interno de la Agencia y las demás disposiciones legales aplicables.
Artículo 15. Las relaciones laborales entre la Agencia Espacial Mexicana y sus trabajadores se regirán por lo dispuesto
en el Apartado B del artículo 123 de la Constitución Política de los Estados Unidos Mexicanos, la Ley Federal del
Trabajo y las demás disposiciones legales y reglamentarias de la misma.
CAPÍTULO III
Del Presupuesto y Patrimonio
Artículo 16. La Agencia administrará su patrimonio conforme a las disposiciones legales aplicables y a los programas y
presupuestos que formule anualmente y que apruebe su Junta de Gobierno.
Artículo 17. El patrimonio de la Agencia se integrará con:
I. Los bienes muebles e inmuebles que se destinen a su servicio;
k
II. La cantidad que se le asigne en el Presupuesto de Egresos de la Federación para su funcionamiento;
III. Los ingresos que perciba por los servicios que preste;
IV. Las donaciones y legados que se otorguen a su favor;
V. Los demás bienes, derechos y recursos que adquiera por cualquier otro título legal;
VI. Los ingresos de la Agencia generados por servicios, aportaciones, donaciones o cualquier otro concepto
provenientes de sus propias actividades o de instituciones u organismos públicos o privados nacionales o extranjeros,
no tendrán que ser concentrados en la Tesorería de la Federación para su reasignación a la Agencia, y
VII. Los recursos que ingresen a la Agencia por los conceptos señalados en el apartado anterior, deberán ser aplicados
precisamente para los fines, programas y proyectos que sean autorizados por la Junta Directiva.
TRANSITORIOS
Artículo Primero. El presente Decreto entrará en vigor al día siguiente de su publicación en el Diario Oficial de la
Federación.
Artículo Segundo. La Junta de Gobierno se instalará en un periodo no mayor a los cuarenta y cinco días naturales
siguientes a la entrada en vigor del presente Decreto.
Artículo Tercero. Una vez instalada la Junta de Gobierno, ésta organizará y convocará a foros y mesas permanentes de
trabajo para que en un plazo no mayor a ciento ochenta días, expertos en materia espacial, tanto nacionales como
extranjeros, así como Instituciones de Educación Superior y Centros Públicos de Investigación, discutan y formulen las
líneas generales de la Política Espacial de México que será desarrollada por la Agencia Espacial Mexicana.
Artículo Cuarto. Una vez concluidos los foros y mesas permanentes de trabajo, el Presidente de la Junta de Gobierno
expedirá la convocatoria para la designación del Director General de la Agencia Espacial Mexicana, quien será
nombrado en un periodo no mayor a los treinta días naturales siguientes a partir de la expedición de dicha
convocatoria y de acuerdo a lo dispuesto en este Decreto.
Artículo Quinto. El Director General de la Agencia contará con un plazo de noventa días naturales a partir de su
nombramiento para elaborar y presentar el Programa Nacional de Actividades Espaciales, el proyecto de Reglamento
Interior, así como el proyecto de Estatuto Orgánico que le permitan a la Agencia cumplir sus funciones, los cuales
serán aprobados por la Junta de Gobierno en un plazo no mayor a noventa días naturales a partir de su presentación.
México, D.F., a 20 de abril de 2010.- Sen. Carlos Navarrete Ruiz, Presidente.- Dip. Francisco Javier Ramírez Acuña,
Presidente.- Sen. Martha Leticia Sosa Govea, Secretaria.- Dip. Jaime Arturo Vazquez Aguilar, Secretario.- Rúbricas."
En cumplimiento de lo dispuesto por la fracción I del Artículo 89 de la Constitución Política de los Estados Unidos
Mexicanos, y para su debida publicación y observancia, expido el presente Decreto en la Residencia del Poder
Ejecutivo Federal, en la Ciudad de México, Distrito Federal, a trece de julio de dos mil diez.- Felipe de Jesús Calderón
Hinojosa.- Rúbrica.- El Secretario de Gobernación, Lic. Fernando Francisco Gómez Mont Urueta.- Rúbrica.