t e s i s148.204.210.201/tesis/1386623170859sistemadeinfo.pdf · instituto politÉcnico nacional...

151
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” TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN INFORMÁTICA PRESENTA: ABRAHAM JONATHAN LATISNERE MEJÍA DIRECTORA DE TESIS: M. C. MARTHA JIMÉNEZ GARCÍA México, D.F. 2013

Upload: lythuy

Post on 06-Feb-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

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

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"

73

Figura 27. Modelo de la entidad "datos_personales"

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.

121

Figura 68. Mensaje de almacenamiento exitoso de iniciativa en el SIPAEP

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.

l

Anexo B. Modelo físico de la base de datos del SIPAEP

Figura 69. Modelo físico de la base de datos del SIPAEP