Está en la página 1de 93

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICA

INGENIERIA EN SISTEMAS COMPUTACIONALES

NOMBRE DEL PROYECTO

“SISTEMA INTEGRADO DE GESTION DE LA


ADMINISTRACIÓN PORTUARIA INTEGRAL DE TUXPAN
S.A. DE C.V (SIGA)”

PRESENTA
ESTEBAN LUCAS MARTINEZ
Nº CONTROL:
096P0419

PRESENTA:
LISBETH ANALY VELASQUEZ LEYVA
N° CONTROL:
096P0409

ADMINISTRACIÓN PORTUARIA INTEGRAL DE TUXPAN S.A DE C.V.

ASESOR INTERNO
M.C.A. GUSTAVO ALEJANDRO GALINDO ROSALES

ASESOR EXTERNO
ING. ADRIANA VALI CASTILLO

POZA RICA DE HGO., VER. MAYO 2014


INDICE
INTRODUCCIÓN .................................................................................................................. 1
CAPÍTULO 1 .......................................................................................................................... 3
“PLANTEAMIENTO DEL PROBLEMA”............................................................................ 3
1.1 Antecedentes generales de la empresa. ..................................................................... 3
1.2 Organigrama de la empresa....................................................................................... 4
1.3 Planteamiento del problema. ................................................................................... 11
1.4 Justificación. .............................................................................................................. 11
1.5 Objetivos de la Investigación. .................................................................................. 12
1.6 Cronograma de actividades. .................................................................................... 13
CAPITULO 2. ....................................................................................................................... 14
MARCO TEÓRICO ............................................................................................................. 14
2.1 Ingeniería de Software.............................................................................................. 16
2.2 Concepto de sistema.................................................................................................. 16
2.3 Tipos de sistemas ....................................................................................................... 17
2.4 Firma Electrónica Avanzada (FIEL) ...................................................................... 17
2.5 Workflow ................................................................................................................... 18
2.6 Método de Programación Extrema (XP) ................................................................ 19
2.5 Programación Estructurada .................................................................................... 22
Ventajas de la programación estructurada .................................................................. 22
2.7 Programación Orientada a Eventos. ....................................................................... 23
Conceptos de la Programación Orientada a Eventos .................................................. 24
2.8 Descripción de la metodología para la solución del problema.............................. 26
2.8.1 ASP.NET. ................................................................................................................ 31
2.8.1.1 Características de ASP.NET ............................................................................. 32
Ventajas ........................................................................................................................ 32
2.8.2 SQL. ..................................................................................................................... 36
Características adicionales ................................................................................................ 37
2.9 Arquitectura de tres capas (Cliente – Servidor) .................................................... 38
2.10 Bases Teóricas. ........................................................................................................ 39
2.10.1 Diagrama de Flujo de Datos. ............................................................................. 39
2.10.2 Simbología ......................................................................................................... 40
2.11 Enfoque Funcional o de Caja Blanca. ................................................................... 40
2.12 Diseño de Tablas ..................................................................................................... 41

I
CAPÍTULO 3. ....................................................................................................................... 43
APLICACIÓN Y RESULTADOS ....................................................................................... 43
3.1 Solución del Problema. ............................................................................................ 43
3.2 Instrumentos Empleados .......................................................................................... 44
3.3 Resultados. ................................................................................................................. 45
3.3.1 Proceso de Desarrollo .......................................................................................... 47
3.3.1.1 Los Roles .......................................................................................................... 47
3.3.2 Planificación ....................................................................................................... 48
3.3.2.1 Historias de Usuario.......................................................................................... 48
3.3.2.2. Versiones e interacciones................................................................................. 49
3.3.3 Diseño ................................................................................................................. 57
3.3.4 Codificación ......................................................................................................... 57
3.3.4.1 Estándares de codificación................................................................................ 58
3.3.5 Pruebas ................................................................................................................. 58
3.3.5.1 Planes de Prueba ............................................................................................... 59
3.3.6 Interfaces .............................................................................................................. 61
3.3.6.1 Interfaces parte usuario. ................................................................................ 61
3.3.6.2 Iniciar Sesión. ................................................................................................... 62
3.3.6.3 Inicio ................................................................................................................. 62
3.3.6.3 Mensajes ........................................................................................................... 63
3.3.6.4 Mensajes recibidos ............................................................................................ 63
3.3.6.5 Mensajes Leídos ............................................................................................... 63
3.3.6.6 Mensajes No leídos .......................................................................................... 64
3.3.6.7 Mensajes Enviados .......................................................................................... 65
3.3.6.8 Documentos ...................................................................................................... 65
3.3.6.9 Ver Documentos ............................................................................................... 65
3.3.6.9 Interfaces parte administrador. ......................................................................... 66
3.3.6.10 Iniciar Sesión. ................................................................................................. 66
3.3.6.11 Inicio ............................................................................................................... 67
3.3.6.12 Mensajes ......................................................................................................... 67
3.3.6.13 Mensajes recibidos .......................................................................................... 67
3.3.6.14 Mensajes Leídos ............................................................................................. 68
3.3.6.15 Mensajes No leídos ........................................................................................ 69
3.3.6.16 Mensajes Enviados ......................................................................................... 70

II
3.3.6.17 Documentos .................................................................................................... 70
3.3.6.18 Ver Documentos ............................................................................................. 70
3.3.6.18 Administrar Intranet. ....................................................................................... 71
3.3.6 19 Gestionar Usuarios. ......................................................................................... 71
3.3.6.20 Gestionar Documentos. ................................................................................ 76
3.4 Conclusiones .............................................................................................................. 79
Recomendaciones ............................................................................................................ 81
Bibliografía ........................................................................................................................... 82
Anexo ................................................................................................................................... 83

III
INDICE DE FIGURAS
Fig. 1.1 Organigrama de la APITUX 1 ................................................................................... 4

Fig. 2.1 Arquitectura de Tres Capas (Cliente-Servidor) 1 .................................................... 38

Fig. 3.1 Modelo de Programación Extrema 1 ....................................................................... 46

Fig. 3.2: Modelo Entidad-Relación 1.................................................................................... 50

Fig. 3.3: Diagrama de casos de usos 1 ................................................................................ 52

Fig. 3.4 Diagrama de Clases 1 .............................................................................................. 52

Fig. 3.5: Diagrama de actividades 1 ..................................................................................... 53

Fig. 3.6: Página Principal. 1 .................................................................................................. 54

Fig. 3.7: Página de Inicio Sesión 1 ....................................................................................... 62

Fig. 3.8: Inicio 1 .................................................................................................................... 62

Fig. 3.9: Mensajes recibidos. 1 ............................................................................................. 63

Fig. 3.10 Mensajes Leídos 1 ................................................................................................. 64

Fig. 3.11 Mensajes No leídos 1............................................................................................. 64

Fig. 3.12 Mensajes Enviados 1 ............................................................................................. 65

Fig. 3.13: Ver Documentos 1 ................................................................................................ 66

Fig. 3.14: Iniciar Sesión 1 ..................................................................................................... 66

3.15 Inicio 1 ......................................................................................................................... 67

Fig. 3.16 Mensajes Recibidos y Crear Mensajes 1 ............................................................... 68

Fig. 3.17 Mensajes Leídos 1 ................................................................................................ 69

Fig. 3.18 Mensajes No leídos 1............................................................................................ 69

Fig.3.19: Mensajes Enviados. 1 ............................................................................................ 70

IV
Fig. 3.20: Ver Documentos 1 ................................................................................................ 71

Fig. 3.21: Gestionar Usuarios 1 ............................................................................................ 71

Fig. 3.22: Dar de alta un usuario 1 ........................................................................................ 72

Fig. 3.23: Login del usuario 1 ............................................................................................... 73

Fig. 3.24: Dado de alta correctamente. 1 .............................................................................. 73

Fig. 3.25. Dar de baja a un usuario 1 ................................................................................... 74

Fig. 3.26 Actualizar usuario 1 ............................................................................................... 74

Fig. 3.27: Modificar los campos de los usuarios 1 ............................................................... 75

Fig.3.28: Ver usuarios 1 ........................................................................................................ 75

Fig. 3.29: Gestionar Documentos 1 ...................................................................................... 76

Fig. 3.30: Subir archivos 1 .................................................................................................... 77

Fig. 3.31: Eliminar archivo 1 ................................................................................................ 77

Fig. 3.32: Ver todos los archivos 1 ....................................................................................... 78

V
INTRODUCCIÓN
El desarrollo de software es una pieza fundamental en cualquier ámbito empresarial ya que
con la ayuda de las aplicaciones hace el trabajo más fácil y confiable dentro de una
organización. El proyecto es el desarrollo de un sistema para la gestión de calidad de una
empresa que tiene proyecciones de administrar y almacenar productos hacia otros mercados
con mayor demanda.
La gestión de calidad abarca mucha importancia debido a la gran demanda actual por las
empresas que desean expandir y administrar, pero para esto se necesita del proceso de instalar
un sistema de calidad para poder lograr la certificación de normas internacionales y
gubernamentales, en la misma tendrá su ventajas de obtener licencia y lograr los objetivos
que la empresa para su administración. En este proyecto de gestión como investigación
daremos a conocer una nuevas tecnología y herramientas utilizadas para llevar a cabo el
proyecto tomando encuentra la calidad. , así como, a la perseverancia del medio ambiente y
cuidado de los recursos naturales en el ámbito de competencia e innovar cada día
manteniendo así un buen margen de competitividad.

En si en el proyecto que se llamara Sistema Integrado de Gestión de la Administración


Portuaria Integral de Tuxpan S.A. de C.V. (SIGA, de aquí en adelante), se implementara una
nueva tecnología de Firma Electrónica Avanzada (FIEL, de aquí adelante), la cual es un
conjunto de datos que se adjuntan a un mensaje electrónico, cuyo propósito es
identificar al emisor del mensaje como autor legítimo de éste, tal y como si se tratara de
una firma autógrafa.1 Por sus características, la Fiel brinda seguridad a las transacciones
electrónicas de los contribuyentes, con su uso se puede identificar al autor del mensaje
y verificar no haya sido modificado, por lo cual es eficiente para nuestro sistema los
encargados tienen que firmar y se ayudara a minimizar el drástico uso de papel. Así mismo
el proyecto SIGA contendrá un gestor de documentos el cual se entiende como el conjunto
de normas técnicas y prácticas usadas para administrar el flujo de documentos de todo tipo
en una organización, permitir la recuperación de información desde ellos, determinar el

1
www.homex.com.mx/sitioprov/firmaElectrinica.pdf

1
tiempo que los documentos deben guardarse, eliminar los que ya no sirven y asegurar la
conservación indefinida de los documentos más valiosos, nos ayuda a una mejor gestión por
parte de los directivos que autorizan todos los documentos, comités a la cual la
Administración Portuaria Integral de Tuxpan S.A. de C.V. (APITUX, de aquí adelante) está
unida y a su vez nos ayudara cada vez que haya algún tipo de auditoria ya sea interna o
externa, ya que nuestro gestor de documentos resguardara los documentos originales de los
que los usuarios internos de la APITUX podrán ver y modificar si así fuese requerido todo
mediante un workflow que implica la automatización de procedimientos organizacionales
donde tareas, documentos e información son pasados de un coordinador a otro de acuerdo a
un conjunto definido de reglas para alcanzar o contribuir a alcanzar un objetivo de la
organización.

2
CAPÍTULO 1

“PLANTEAMIENTO DEL PROBLEMA”

1.1 Antecedentes generales de la empresa.

Es una empresa paraestatal, constituida como una Sociedad Anónima de Capital Variable, su
capital social pertenece al Gobierno Federal; está regulada su normatividad en la Ley Federal
de las Entidades Paraestatales y su Reglamento. A partir de julio de 1994 se le otorga por
conducto de la Secretaria de Comunicaciones y Transportes el Título de Concesión de
acuerdo a las leyes mexicanas, según consta en la escritura pública No. 31, 157.

Misión
Aportar valor a los clientes mediante una oferta de servicios eficientes, seguros e integrados
eficazmente a las cadenas logísticas, con el respaldo de una comunidad portuaria
comprometida y participativa con el desarrollo del país, en armonía y respeto con el medio
ambiente.

Visión
Ser la mejor alternativa portuaria para el centro de México, vinculándolo competitivamente
con los mercados internacionales y facilitando el desarrollo de las cadenas logísticas y de
valor de mercancías de contenedores, fluidos, carga general, automóviles, hidrocarburos y
gráneles minerales y agrícolas, en un entorno sustentable.

Objetivos Multi-sitios
1. Obtener y/o mantener la certificación de la industria limpia o cumplimiento
Ambiental del Puerto.
2. Lograr que los cesionarios y prestadores de servicios implementen acciones
encaminadas a prevenir la contaminación y preservación del medio ambiente.
3. Eficiente el uso de los recursos y materiales de la organización.

3
4. Implementar el Programa Especial de Mejora de la Gestión en las Administraciones
Portuarias Integrales, a través del Proyecto de Mejora de la Gestión, a fin de mejorar
los procesos, maximizar la calidad de los bienes y servicios, incrementar y minimizar
los costos de operación y administración.2

1.2 Organigrama de la empresa.

En la figura 1.1 se muestra el organigrama de cómo están distribuidos los diferentes puestos
de la APITUX, así como la ubicación dentro del organigrama donde se realizan las
residencias profesionales.

Fig. 1.1 Organigrama de la APITUX 1

Departamento donde se desarrollan las Residencias Profesionales.

2
www.puertotuxpan.com.mx

4
Descripción detallada de cada uno de los departamentos que conforman el
organigrama.

Dirección General
Funciones:
Es el responsable de los resultados generales de la organización, supervisa que todas las
actividades que se realizan se lleven a cabo correctamente.
Se encarga de Coordinar todos los recursos a través del proceso de planeamiento,
organización, dirección y control a fin de lograr objetivos establecidos.

Contraloría Interno
Funciones:
El Órgano Interno de Control, representa a la Secretaría de la Función Pública, con la
finalidad de prevenir, detectar y abatir los actos de corrupción en el APITUX, asimismo,
promueve la transparencia y el apego a la legalidad de los servidores públicos, mediante la
realización de auditorías y revisiones a los diferentes procesos de la Institución, así como la
atención de quejas, denuncias, peticiones ciudadanas, resolución de procedimientos
administrativos de responsabilidades y de inconformidades, en apego a lo establecido en el
Programa de Mejora de la Gestión Pública.

Informática
Funciones:
Es el responsable de las tareas de mantenimiento del hardware existente y del desarrollo de
software específico para la organización, facilita el desarrollo del conocimiento del personal
asignado para el manejo y uso de la red informática. También, facilita el Soporte Técnico
necesario para la implementación de los procesos operativos a distancia, proporciona soporte
a los diferentes departamentos. Ocupándose del diseño, selección, implementación y soporte
de los mismos. Sin embargo, su actividad no se limita únicamente a este soporte, sino que
también se encuentra involucrado en el desarrollo de proyectos de investigación, desarrollo
y difusión, en el campo de las Tecnologías de la Información.

5
Estos proyectos permiten al departamento un proceso de actualización tecnológica continua,
así como estar al corriente de las tendencias existentes en lo que a la implementación se
refiere.

Comercialización
Funciones:
Es el encargado de dar a conocer a la empresa, atención a clientes actuales y potenciales para
eso se recurre a la publicidad, estudio de mercados. Comportamiento de las tarifas,
promociones, que sirva de base para el desarrollo de la organización. Suministran
información importante para la Dirección general y el área de finanzas así como a la gerencia
de operaciones e ingeniería.

Promoción y Desarrollo de Mercado


Funciones:
Es la encargada de promover en el ámbito nacional e internacional los servicios que ofrece
el puerto de Tuxpan de Rodríguez Cano, Ver., así como dar atención a clientes y usuarios.
Además de coordinar e integrar el programa maestro de desarrollo portuaria y programas
operativos anuales.

Cesiones
Funciones:
Se encarga de formular los contratos de cesiones parciales de, derecho y obligaciones y de
prestaciones servicios portuarios, así como atender interesados en suscribirnos.

Jurídico
Funciones:
Se encarga del asesoramiento jurídico de la organización en los asuntos legales que se les
presente, con asesoría legal, dándole seguimiento a los asuntos jurídicos como: convenios
celebrados entre ambas partes, seguimiento a las demandas en asuntos varios y conciliar a
las partes de todo lo referente a la normatividad interna de la empresa. Sera la encargada de
resolver los problemas internos y aplicar las sanciones administrativas correspondientes por

6
faltas al interior de la empresa. Tendrá los controles de normativas junto con la dirección
general para el buen funcionamiento de la empresa.

Administración y Finanzas
Funciones:
Se encarga de administrar los recursos financieros apegados al presupuesto autorizado por la
Secretaria de Hacienda, vigilar los costos operativos de la administración, desarrollar nuevas
fuentes de ingreso, análisis y estudio del control interno administrativo y operativo,
elaboración y análisis de la información financiera de la administración y administración de
los recursos humanos, materiales y servicios generales de la administración.

Administración
Funciones:
Responsable de proveer el apoyo necesario, a las áreas de Finanzas, Presupuestos,
Contabilidad, Facturación, Cobranzas, Abastecimiento, Servicios Generales y Contratos, en
general a cada unidad de la Administración de acuerdo a los requerimientos y políticas
generales establecidas por la Dirección General, de la elaboración, ejecución y coordinación
presupuestaria, con todas las unidades de la Administración y de la Secretaria de Hacienda.

Finanzas
Funciones:
Se encarga de la gestión de los recursos financieros, el cumplimiento de los requerimientos
legales respecto a la presentación de Estados Financieros y el control del presupuesto, de la
información contenida en los estados financieros, de su preparación y entregar soporte a todas
las unidades, supervisando y manteniendo la normativa contable de la Empresa, de la
administración de los recursos humanos, esto implica la ejecución de todos los procesos
relacionados con remuneraciones del personal, y la implementación de políticas, que
permitan mantener el personal capacitado, informado sobre los objetivos corporativos en un
buen clima laboral, de elaborar los análisis e informes de gestión, contables y financieros
sugiriendo medidas tendientes a optimizar su utilidad como instrumentos de control de
gestión, del desarrollo y explotación de los sistemas de información, de manera de mantener

7
la continuidad operacional y de desarrollar sistemas de apoyo para mejorar la gestión, de la
función de abastecimiento y servicios que terceros proveen a la Empresa, de la
implementación de servicios generales.

Recursos Humanos
Funciones:
Son los responsables de organizar y ejecutar los procesos administrativos y de
remuneraciones, gestión interna relacionada con el clima laboral, elaborar y rendición de
viáticos del personal de la empresa, elaborar el plan anual de capacitación, gestión del fondo
asistencial social. Asistente de la Dirección General en materias administrativas y técnicas,
prestar apoyo logístico a la gestión de la Dirección General.

Recursos Materiales
Funciones:
Son los encargados asignar recursos materiales y humanos, de acuerdo al tipo de buque, carga
transportada y documentación presentada por las Agencias Navieras, teniendo como base la
Cédula de Costos, emitida por la Unidad de Desarrollo.

Tesorería
Funciones:
Se encarga de la recaudación de los ingresos del puerto, de generar los egresos para el pago
de todos los compromisos de la Administración y de emitir todos los informes que dicen
relación con el manejo de los fondos bajo su cuidado y del control de las cuentas bancarias,
la contabilización de ingresos y egresos de los movimientos bancarios, la Facturación y
Cobranzas, ingresos y custodia de los cheques en cartera, resguardo de la caja chica

Contabilidad
Funciones:
Se encarga de asistir al Gerente de Administración y Finanzas en todas las labores que tienen
relación con la contabilidad, presupuestos, compras y análisis financieros y también de la
preparación, confección y emisión de los Estados Financieros mensuales, trimestrales y anual

8
de la administración, asegurando consistencia, razonabilidad y validez de la información
financiera, realizar declaraciones de renta, IVA y declaraciones juradas de (si hacen más).

Operaciones e Ingeniería
Funciones:
Son los encargados de planear, organizar, dirigir, controlar, coordinar, evaluar y normar a
nivel central del abastecimiento, mantenimiento, distribución y control de la calidad------,
proyectos y obras, consideradas en los planes de corto, mediano y largo plazo, de la
Administración.

Operaciones
Funciones:
Son los encargados de la marcha operacional de la Administración y, por consecuencia, de
los servicios prestados a sus clientes; es quien busca optimizar la ocupación de los frentes de
atraque, como asimismo, las áreas de respaldo y acopio con que cuenta la Administración.
También de la prestación de los servicios a los clientes, de la coordinación operativa en
terreno, del debido cuidado de los activos operacionales y de supervisar y emplear
eficientemente los Recursos Humanos, materiales y Operacionales que se encuentran a su
cargo, u otros que se consideren necesarios, en el proceso de entrega de servicios a los
usuarios.

Protección Portuaria
Función:
Se encarga de coordinar con la Capitanía de Puerto, SEMAR, Protección Civil, SEDENA y
OPIP de las terminales, para cualquier incremento de nivel de protección que amenace al
puerto, este incremento debe ser autorizado por la autoridad (Secretario de la SCT y/o
Coordinador General de Puertos y Marina Mercante); El presidente de dicho Subcomité es
el Capitán de Puerto y el Oficial de Protección de APITUX el secretario técnico.

9
Ingeniería y Ecología
Funciones:
Coordina en la entidad el procedimiento para la elaboración de los estudios de impacto
ambiental, obteniendo la información necesaria de las áreas involucradas, para obtener los
permisos en tiempo y forma. Gestiona ante la autoridad en materia ambiental los permisos
para las obras de construcción y ampliación de la infraestructura de la entidad.

Recinto Fiscalizado
Funciones:
Es el encargado de asegurar que las mercancías que se depositan en el recinto fiscalizado
cumplan con los requerimientos aduaneros y obligaciones del despacho aduanero.
Administrar las mercancías depositadas en el recinto fiscalizado, vigilar su correcta custodia
y elaboración correcta de cálculos por los cobros de almacenaje. Expedir la autorización de
salida y entrada de mercancía del recinto fiscalizado recabando la documentación legal
pertinente a través de los agentes aduanales con el propósito de cumplir con la ley aduanera.

Proyectos y Construcción
Funciones:
Se encargan de verificar que los proyectos que presentan los cesionarios cumplan con los
planes de desarrollo mediante la revisión de los mismos. Participan en el proceso de las
licitaciones de obra pública realizando la visita de obra y asistiendo a la junta de aclaraciones
con el fin de resolver las dudas que pudieran surgir sobre el proyecto. Proporciona costos
aproximados de cada obra que sirvan de base en la elaboración de los proyectos de
presupuesto anual de obra pública, para gestionar los recursos presupuestales suficientes que
cubran el costo de los mismos.

10
1.3 Planteamiento del problema.

Uno de los principales problemas es la gestión de calidad, ambiental y seguridad de la


información se ha considerado como uno de los asuntos más importantes de la APITUX. El
objetivo principal diseñar un sistema integrado de gestión de calidad, ambiental y seguridad
de la información para los diferentes procesos de la APITUX que permita la Gestión,
mejoras, seguimiento de indicadores, objetivos y revisión por parte de la dirección y/o
comités de todos aquellos documentos que se manejan en esta empresa para el correcto
funcionamiento.

Una de los problemas a resolver con el sistema SIGA es resolver el uso de papel, porque la
organización necesita llevar un control de la gestión documental pero sin hacer mucho
papeleo ya que, con las normas ambientales que lleva la administración es hacer uso debido
de los materiales y con las nuevas tecnologías como la mencionada FIEL, gestores de datos,
etc. Dara una manera más automatizada de realizar la documentación en la organización
APITUX dentro de sus departamentos y fuera con las demás APIS del país de México.

Además el manejo de los documentos de la APITUX es manejado por la coordinadora de


calidad, la cual realiza la gestión de documentos mediante herramientas básicas de Office, y
con el gestor de documentos que se creara el sistema SIGA, se ahorra tiempo y todo va hacer
digital. Mediante un workflow van estar conectados los comités para las firmas de las normas
sin necesidad de andar viéndolos en sus oficinas, ahorrar tiempo en el trabajo.

1.4 Justificación.

Con la elaboración del software Sistema Integrado de Gestión de la Administración Portuaria


Integral de Tuxpan S.A. de C.V. (SIGA), debido a que se pondrán en marcha las nuevas
tecnologías como lo son la Firma Electrónica Avanzada (FIEL), ya que la Administración
Portuaria integral de Tuxpan (APITUX), es regida por el gobierno federal, y los nuevos
convenios se especifica que todas las dependencias de gobierno deben estar a la vanguardia
con las nuevas tecnologías, además de al implementar esta nueva tecnología la APITUX se
ve beneficiada debido a que las normas de calidad y seguridad de la información también

11
exigen que todas las normas se cumplan al pie de la letra, así mismo el proyecto SIGA
contendrá un gestor de documentos el cual nos ayuda a una mejor gestión por parte de los
directivos que autorizan todos los documentos, comités a la cual la APITUX está unida y a
su vez nos ayudara cada vez que haya algún tipo de auditoria ya sea interna o externa, ya que
nuestro gestor de documentos resguardara los documentos originales de los que los usuarios
internos de la APITUX podrán ver y modificar si así fuese requerido.

1.5 Objetivos de la Investigación.

Objetivo General:
Diseñar un sistema integrado de gestión de calidad, ambiental y seguridad de la información
para los diferentes procesos de la Administración Portuaria Integral de Tuxpan S.A de C.V
que permita la Gestión Documental, Mejoras, Seguimiento de Indicadores, Objetivos y
Revisión por la dirección y/o Comités.

Así como el uso de la firma electrónica avanzada para evitar el uso de papel.

Objetivos Específicos:

1. Recopilar información acerca de cómo funciona los paquetes de Microsoft Visual


Studio 2012,
2. Recopilar información acerca de Firma Electrónica Avanzada (FIEL).
3. Recopilar información acerca de workflow.
4. Recopilar información de norma ISO- 9000 1400.
5. Delimitar el alcance del sistema SIGA.
6. Recopilar información acerca del material de mejoras, seguimiento de indicadores,
objetivos y revisiones de los documentos.
7. Investigar las normas de calidad, ambiental y seguridad de la información que rigen
a la APITUX.
8. Construir el sistema SIGA.
9. Establecer parámetros de prueba.
10. Probar el sistema SIGA.

12
1.6 Cronograma de actividades.

13
CAPITULO 2

MARCO TEÓRICO

Se pretende desarrollar un software que pueda ser aplicado como una herramienta útil para
la administración de la empresa APITUX. Es necesario tener en cuenta que, en todo
desarrollo de sistemas de software es de suma importancia definir una metodología. Esta
permite a los desarrolladores seguir alguna especificación en cada una de las etapas del
desarrollo del sistema, desde los requerimientos iniciales hasta las pruebas finales, que haga
que el software sea coherente y además formal.

Hay diferentes tipos de metodologías las cuales se mencionaran. El modelo de cascada utiliza
tramos como puntos de transición y de carga. Al usar el modelo de cascada, se necesitaría
completar un conjunto de tareas en forma de fase para después continuar con la fase próxima.
El modelo en cascada trabaja perfectamente para los proyectos en los cuales los requisitos
del proyecto se encuentran definidos claramente y no son obligados a futuras modificaciones.
Ya que este modelo está compuesto por puntos de transición entre fases, se puede monitorear
fácilmente ya que asigna responsabilidades definidas.

El modelo de espiral se basa en la necesidad continua de refinar los requerimientos para un


determinado proyecto. El modelo espiral es eficaz cuando se utiliza para el rápido desarrollo
de proyectos muy pequeños. Esta logra consigo el acercamiento entre el equipo de desarrollo
y el cliente porque el cliente es implicado en todas las etapas proporcionando la regeneración
de proyecto y la aprobación del mismo. De cualquier forma, el modelo en espiral no incorpora
puntos de comprobación claros. Por lo tanto, el proceso de desarrollo puede llegar a ser
caótico.

El método Microsoft Solutions Framework (MSF) es una flexible e interrelacionada serie de


conceptos, modelos y prácticas de uso que controlan la planificación, el desarrollo y la
gestión de proyectos tecnológicos. MSF se centra en los modelos de proceso y de equipo
dejando en un segundo plano las elecciones tecnológicas. Originalmente creado en 1994 para
conseguir resolver los problemas a los que se enfrentaban las empresas en sus respectivos

14
proyectos, se ha convertido posteriormente en un modelo práctico que facilita el éxito de los
proyectos tecnológico

El Método Incremental provee una estrategia para controlar la complejidad y los riesgos,
desarrollando una parte del producto software reservando el resto de aspectos para el futuro.
Los principios básicos son: Una serie de mini-Cascadas se llevan a cabo, donde todas las
fases de la cascada modelo de desarrollo se han completado para una pequeña parte de los
sistemas, antes de proceder a la próxima incremental. El concepto inicial de software, análisis
de las necesidades, y el diseño de la arquitectura y colectiva básicas se definen utilizando el
enfoque de cascada, seguida por iterativo de prototipos, que culmina en la instalación del
prototipo final. 3

La Programación Extrema es una metodología de desarrollo ligera basada en una serie de


valores y una docena de prácticas que propician un aumento en la productividad a la hora de
generar software, nos despertó interés como equipo por la colaboración con el cliente más
que la negociación de un contrato, ya que aprovechamos el tiempo de los clientes y ayudad
al cliente se sienta integrado, evitando que se desmoralice por no saber cómo preparar
pruebas de aceptación y desarrollar un software que funciona, más que conseguir una buena
documentación. Nos permite controlar los problemas de riesgo en los proyectos y potenciar
el trabajo en grupo, todos están involucradas en el desarrollo del software, y en el desarrollo
de pruebas ayuda identificar y corregir fallos u omisiones en las historias de uso. Otro punto
importante son los cuatro valores para desarrollar software que son la comunicación,
sencillez, retroalimentación y la valentía. La programación extrema es una forma ligera,
eficiente, flexible, predecible, científica y divertida de generar software.4

En éste capítulo también abordaremos los conceptos computacionales tomados en cuenta


durante todo el proceso de elaboración del software de este proyecto. Los conceptos que a
continuación trataremos son la ingeniería de software y metodología de la programación
extrema, las cuales darán la pauta sobre los estándares utilizados tanto para el análisis, diseño,
implementación, pruebas y mantenimiento del sistema; la re-ingeniería examinará la

3
Issuu.com/alonsocampos/docs/presentación--metologias
4
www.extremeprogramming.org

15
aplicación existente para actualizarla y mejorarla; las bases de datos permitirán el manejo y
manipulación de la gran cantidad de datos que existan; y los workflow ayudarán en la
automatización de ciertas tareas, como la FIEL.

2.1 Ingeniería de Software

El término ‘Ingeniería de Software’ fue introducido por primera vez a finales de 1960 en
una conferencia destinada a su discusión.

La Ingeniería del Software es una disciplina que comprende todos los aspectos de la
producción de software. ¿Cuál es la diferencia entre ingeniería del software y ciencia de la
computación? La ciencia de la computación comprende la teoría y los fundamentos; la
ingeniería del software comprende las formas prácticas para desarrollar y entregar un
software útil. ¿Cuál es la diferencia entre ingeniería del software e ingeniería de sistemas?
La ingeniería de sistemas se refiere a todos los aspectos del desarrollo de sistemas
informáticos, incluyendo hardware, software e ingeniería de procesos. La ingeniería de
software es parte de este proceso.

Es que la ingeniería de software se enfoca a los sistemas computacionales, utilizando los


principios de la ingeniería para el desarrollo de estos sistemas, y está compuesta por aspectos
técnicos y no técnico. La ingeniería de Software no es una disciplina que sólo deba aplicarse
en proyectos de ciertas áreas, sino que también trata con áreas diversas dentro de las ciencias
computacionales, tales como: construcción de compiladores, sistemas operativos, o
desarrollos empresariales como es el caso de ésta aplicación de software. La Ingeniería de
Software abarca todas las fases del ciclo de vida en el desarrollo de cualquier sistema de
información. En un nivel técnico la ingeniería de software empieza con una serie de tareas
de modelado que llevan a una especificación completa de los requisitos y a una
representación del diseño general del software a construir.

2.2 Concepto de sistema

Un sistema informático como todo sistema, es el conjunto de partes interrelacionadas,


hardware, software y de Recurso Humano. Un sistema informático típico emplea una

16
computadora que usa dispositivos programables para capturar, almacenar y procesar datos.
La computadora personal o PC, junto con la persona que lo

2.3 Tipos de sistemas

Sistemas de Transacciones: Son llamados TPS cuyas siglas corresponden a (Transaction


Processing System), o sistemas de procesamiento de transacciones.

Sistemas de Conocimiento: KWS, (knowledge work system), o sistema de manejo de


conocimiento. Un ejemplo es el de aplicaciones como Photoshop, la cual ayuda a diseñadores
gráficos en crear su arte publicitario por medio de poderosas herramientas con las cuales se
puede manipular y modificar distintos tipos de gráficos y fotografías.

Sistemas de Apoyo a Grupos: GDSS, (group decission support system), o sistemas de


apoyo a decisiones de grupo. Un sistema GDSS es el Vision Quest, el cual permite realizar
junta electrónicas. Entre sus ventajas se encuentra su facilidad de uso. Cualquiera puede
conducir una junta electrónica y el sistema puede ser usado de manera distribuida.

Sistema de ejecutivos: ESS, (executive support system), o sistemas de apoyo a ejecutivos.


Un ejemplo es el sistema comprado por Pratt & Whitney, una corporación que se dedica a la
producción de motores de propulsión a chorro. Maneja y los periféricos que los envuelven,
resultan de por sí un ejemplo de un sistema informático.5

2.4 Firma Electrónica Avanzada (FIEL)

Es un conjunto de datos que se adjuntan a un mensaje electrónico, cuyo propósito es


identificar al emisor del mensaje como autor legítimo de éste, tal y como si se tratara de una
firma autógrafa. Por sus características, la Fiel brinda seguridad a las transacciones
electrónicas de los contribuyentes, con su uso se puede identificar al autor del mensaje
y verificar no haya sido modificado.

5
Kendall & Kendall, E (1991) "Análisis y Diseño de Sistemas", México: Hall Hispanoamericana S.A.

17
Su diseño se basa en estándares internacionales de infraestructura de claves públicas (o PKI
por sus siglas en inglés: Public Key Infrastructure) en donde se utilizan dos claves o llaves
para el envío de mensajes:
 La "llave o clave privada "que únicamente es conocida por el titular de la Fiel, que
sirve para cifrar datos; y
 La "llave o clave pública", disponible en Internet para consulta de todos los usuarios
de servicios electrónicos, con la que se descifran datos. En términos computacionales
es imposible descifrar un mensaje utilizando una llave que no corresponda.

Un ejemplo de para que nos sirve una Llave Pública y una Llave Privada, sería que cuando
generamos una factura electrónica la “firmamos” con nuestro CSD-Llave Privada y cuando
nuestro cliente la recibe, para validar que si la hicimos nosotros, va al repositorio de llaves
públicas, encuentra nuestra Llave Pública y verifica que sea el usuario que le mandamos sí
la hicimos nosotros y la pueda deducir sin ningún problema.6

2.5 Workflow

El flujo de trabajo (Workflow en inglés) es el estudio de los aspectos operacionales de una


actividad de trabajo: cómo se estructuran las tareas, cómo se realizan, cuál es su orden
correlativo, cómo se sincronizan, cómo fluye la información que soporta las tareas y cómo
se le hace seguimiento al cumplimiento de las tareas.

Una aplicación de flujos de trabajo automatiza la secuencia de acciones, actividades o tareas


utilizadas para la ejecución del proceso, incluyendo el seguimiento del estado de cada una de
sus etapas y la aportación de las herramientas necesarias para gestionarlo

Se pueden distinguir tres tipos de actividad:

 Actividades colaborativas: Un conjunto de usuarios trabajan sobre un mismo repositorio


de datos para obtener un resultado común. Tiene entidad el trabajo de cada uno de ellos
en sí mismo.

6
www.losimpuestos.com.mx/firma-electronica.avanzada.fiel

18
 Actividades cooperativas: Un conjunto de usuarios trabajan sobre su propio conjunto
particular, estableciendo los mecanismos de cooperación entre ellos. No tiene entidad el
trabajo de ninguno de ellos si no es visto desde el punto de vista global del resultado
final.
 Actividades de coordinación.

Objetivos de un sistema de Workflow

 Reflejar, mecanizar y automatizar los métodos y organización en el sistema de


información
 Establecer los mecanismos de control y seguimiento de los procedimientos organizativos
 Facilitar la movilidad del personal
 Agilizar el proceso de intercambio de información y agilizar la toma de decisiones de
una organización, empresa o institución.7

2.6 Método de Programación Extrema (XP)

En la realización del Sistema Integral de Gestión de la Administración Portuaria Integral de


Tuxpan S.A de C.V. Se utilizó la metodología programación extrema o también llamada
XP.

La razón por la que se utilizó este modelo es porque se basa en realimentación continua entre
el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes,
simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. Satisfacer
al cliente mediante tempranas y continuas entregas de software que le reporte un valor, desde
un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre una
entrega y se simplificar el diseño para agilizar el desarrollo y facilitar el mantenimiento.

Se basa en un manifiesto que su principal son los valores en cómo se desarrolla el sistema
tales como: Al individuo y las interacciones del equipo de desarrollo sobre el proceso y
las herramientas. Nosotros somos el principal factor de éxito de un proyecto software. Si se

7
www.worflow.com.mx

19
sigue un buen proceso de desarrollo, pero el equipo falla, el éxito no está asegurado; sin
embargo, si el equipo funciona, es más fácil conseguir el objetivo final, las herramientas
(compiladores, depuradores, control de versiones, etc.) son importantes para mejorar el
rendimiento del equipo. Desarrollar software que funciona más que conseguir una buena
documentación. Aunque se parte de la base de que el software sin documentación es un
desastre, la regla a seguir es “no producir documentos a menos que sean necesarios de forma
inmediata para tomar un decisión importante”. La colaboración con el cliente más que la
negociación de un contrato. Las características particulares del desarrollo de software hacen
que muchos proyectos hayan fracasado por intentar cumplir unos plazos y unos costes
preestablecidos al inicio del mismo, según los requisitos que el cliente manifestaba en ese
momento. Por ello, se propone que exista una interacción constante entre el cliente y el
equipo de desarrollo. Responder a los cambios más que seguir estrictamente un plan. La
habilidad de responder a los cambios que puedan surgir a los largo del proyecto (cambios en
los requisitos, en la tecnología, en el equipo, etc.) determina también el éxito o fracaso del
mismo. Por lo tanto, la planificación no debe ser estricta puesto que hay muchas variables en
juego, debe ser flexible para poder adaptarse a los cambios que puedan surgir. Una buena
estrategia es hacer planificaciones detalladas para unas pocas semanas y planificaciones
mucho más abiertas para unos pocos meses.8

Las fases que conforman el modelo XP son las siguientes:

Fase I: Exploración
En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son de interés
para la primera entrega del producto. Al mismo tiempo el equipo de desarrollo se familiariza
con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto. Se prueba la
tecnología y se exploran las posibilidades de la arquitectura del sistema construyendo un
prototipo.

Fase II: Planificación de la Entrega


En esta fase el cliente establece la prioridad de cada historia de usuario, y
correspondientemente, los programadores realizan una estimación del esfuerzo necesario de

8
www.agilemanifesto.org

20
cada una de ellas. Se toman acuerdos sobre el contenido de la primera entrega y se determina
un cronograma en conjunto con el cliente. La planificación se puede realizar basándose en el
tiempo o el alcance. La velocidad del proyecto es utilizada para establecer cuántas historias
se pueden implementar antes de una fecha determinada o cuánto tiempo tomará implementar
un conjunto de historias, necesarias para su implementación del sistema.

Fase III: Iteraciones


Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado. El Plan de Entrega
está compuesto por iteraciones de no más de tres semanas. En la primera iteración se puede
intentar establecer una arquitectura del sistema que pueda ser utilizada durante el resto del
proyecto. Esto se logra escogiendo las historias que fuercen la creación de esta arquitectura,
sin embargo, esto no siempre es posible ya que es el cliente quien decide qué historias se
implementarán en cada iteración (para maximizar el valor de negocio). Al final de la última
iteración el sistema estará listo para entrar en producción.

Fase IV: Producción


La fase de producción requiere de pruebas adicionales y revisiones de rendimiento antes de
que el sistema sea trasladado al entorno del cliente. Al mismo tiempo, se deben tomar
decisiones sobre la inclusión de nuevas características a la versión actual, debido a cambios
durante esta fase.

Fase V: Mantenimiento
Mientras la primera versión se encuentra en producción, el sistema debe mantener el
funcionamiento al mismo tiempo que desarrolla nuevas iteraciones.

Fase VI: Muerte del Proyecto


Es cuando el cliente no tiene más historias para ser incluidas en el sistema. Esto requiere que
se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad
del sistema. Se genera la documentación final del sistema y no se realizan más cambios en la
arquitectura.9

9
www.agileuniverse.com

21
2.5 Programación Estructurada

El teorema del programa estructurado, demostrado por Böhm-Jacopini, demuestra que todo
programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:

 Secuencia
 Instrucción condicional.
 Iteración (bucle de instrucciones) con condición al principio.

Solamente con estas tres estructuras se pueden escribir todos los programas (programas) y
aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de
estructuras de control, éstas pueden ser construidas mediante las tres básicas.

Por ejemplo, en Visual Studio la secuencia de instrucciones consiste en la escritura de una


instrucción debajo de otra (también se pueden poner en la misma línea separadas por el
símbolo de dos puntos ":" aunque no es recomendable). La instrucción condicional es la
instrucción If y la iteración con condición al inicio sería la instrucción do-while-loop o while-
wend.

Ventajas de la programación estructurada

Con la programación estructurada, elaborar programas de computador sigue siendo una labor
que exige esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este estilo podemos
obtener las siguientes ventajas:

1. Los programas son más fáciles de entender, ya que pueden ser leídos de forma secuencial,
sin necesidad de hacer seguimiento a saltos de línea (GOTO) dentro de los bloques de código
para entender la lógica.

2. La estructura del programa es clara, puesto que las instrucciones están más ligadas o
relacionadas entre sí.

22
3. Reducción del esfuerzo en las pruebas. El seguimiento de los fallos o errores del programa
("debugging") se facilita debido a la estructura más visible, por lo que los errores se pueden
detectar y corregir más fácilmente.

4. Reducción de los costes de mantenimiento de los programas.

5. Programas más sencillos y más rápidos (ya que es más fácil su optimización).

2.7 Programación Orientada a Eventos.

Los lenguajes visuales orientados al evento y con manejo de componentes dan a construir
sus propias aplicaciones utilizando interfaces gráficas sobre la base de ocurrencia de eventos.
Para soportar este tipo de desarrollo interactúan dos tipos de herramientas, una que permite
realizar diseños gráficos y, un lenguaje de alto nivel que permite codificar los eventos. Con
dichas herramientas es posible desarrollar cualquier tipo de aplicaciones basadas en el
entorno.

Los programas orientados a eventos son los programas típicos de Windows, tales como
Netscape, Word, Excel, PowerPoint y otros. Cuando uno de estos programas ha arrancado,
lo único que hace es quedarse a la espera delas acciones del usuario, que en este caso son
llamadas eventos. El usuario dice si quiere abrir y modificar un fichero existente, o bien
comenzar a crear un fichero desde el principio. Estos programas pasan la mayor parte de su
tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. Las acciones que
el usuario puede realizar en un momento determinado son variadísimas, y exigen un tipo
especial de programación: la programación orientada a eventos. Este tipo de programación
es sensiblemente más complicada que la secuencial y la interactiva, pero con los lenguajes
visuales de hoy, se hace sencilla y agradable porque la programación con Visual Studio se
realiza visualmente. Esto significa que durante el tiempo de diseño usted tiene la capacidad
de ver la forma en el programa se verá al ejecutarse Esta es una gran ventaja sobre otros
lenguajes de programación debido a que se tiene la capacidad de cambiar y experimentas con

23
el diseño hasta que se esté satisfecho con los colores, proporciones e imágenes que incluya
en el programa.10

Conceptos de la Programación Orientada a Eventos

Eventos.

Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos. Son eventos
típicos el clic sobre un botón, el hacer doble clic sobre el nombre de un fichero para abrirlo,
el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un
menú, el escribir en una caja de texto, o simplemente mover el ratón. Cada vez que se produce
un evento sobre un determinado tipo de control, Visual Studio arranca una determinada
función o procedimiento que realiza la acción programada por el usuario para ese evento
concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre
del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo
txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento
click en el objeto txtBox.

Propiedades y Métodos.

Además de los eventos, la mayor parte de los objetos, como los formularios y los controles,
son suministrados con propiedades y métodos. Son conceptos fundamentales e importantes.

Propiedades.

Una propiedad es una asignación que describe algo sobre un objeto como un formulario.
Dependiendo de la propiedad, se la puede asignar en tiempo de diseño usando la ventana
Propiedades y/o en tiempo de ejecución al programar.

A continuación se describen un ejemplo de las propiedades del formulario de Visual


Studio: Back Color. Asignando esta propiedad a un valor expresado como hexadecimal RGB
(Rojo Verde Azul) o como una constante se cambia el color del fondo del formulario. Se

10
es.escrib.com/doc/62123905/LENGUAJE-DE-PROGRAMACION-ORIENTADA-A-EVENTOS

24
pueden consultar las constantes usando el examinador de objetos (Seleccione VER,
EXAMINADOR DE OBJETOS) y en la Biblioteca VBRUN(Columna clase) bajo
"ColorConstants" y "SystemColorConstants".

Métodos.

Los métodos son funciones que también son llamadas desde programa, pero a diferencia de
los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas
con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las
aplicaciones. De ahí que vengan con el lenguaje y que se libere al usuario de la tarea de
programarlos. Cada tipo de objeto o de control tiene sus propios métodos. En general solo
pueden ser ejecutados en tiempos de ejecución no en tiempo de diseño. Algunos ejemplos de
métodos de formularios son el método OVE, que mueve un formulario en un espacio de dos
dimensiones en la pantalla, y el método ZORDER que sitúa el formulario delante o detrás de
otras ventanas. Los métodos son invocados dando nombres al objeto y cuyo método se está
llamando, listando el operador punto (.), y después listando el nombre del método. Como
cualquier rutina los métodos pueden incorporar argumentos

25
2.8 Descripción de la metodología para la solución del problema.

Se muestra una matriz de los lenguajes de programación que se tomaron en cuenta para
desarrollar el sistema, con sus ventajas y desventajas y su principal área de aplicación y por
qué escogimos ASP.NET.

Lenguaje Ventajas Desventajas Principal área de


Programación aplicación
C * Acceso a memoria de * Encapsulación. Programación de
bajo nivel mediante el uso sistema
de punteros. * Polimorfismo en
tiempo de código en
* Un conjunto reducido forma de sobrecarga,
de palabras clave.
* Carece
* Punteros a funciones y de instrucciones de
variables estáticas, que entrada/salida, de
permiten una forma instrucciones para
rudimentaria de manejo de cadenas de
encapsulado y caracteres.
polimorfismo.

Java • Es una fuente abierta. • Los programas Programación


•Está diseñado como un hechos en java no orientada a Internet
lenguaje orientado a tienden a ser muy
objetos. rápidos.
• Desarrolla aplicaciones • Algunas
web dinámicas. herramientas tienen un
• Permite crear programas costo adicional.
modulares y códigos
reutilizables

26
C++ *Lenguaje hibrido que *Muy complicado para Programación de
permite la programación aplicaciones web sistema orientado a
estructurada y orientada a objeto
objetos *Las librerías no son
universales y te
limitan solo a un
*Una librería sistema
estandarizada *Muy complicado para
aplicaciones de alto
*Rápido y eficiente nivel

Forthan * Es un lenguaje muy * No se puede hacer Cálculo


simple una reserva de
* Se diseñó para trabajar memoria dinámica
con expresiones *Es un lenguaje
matemáticas y matrices. primitivo para proceso
*Es todavía uno de los de textos, listas y
lenguajes más usados para estructuras de datos
cálculo numérico más complejas
existen cientos de
librerías probadas y
eficientes.

Phyton *Libre y fuente abierta. Lentitud por ser un Desarrollo de sitios


lenguaje interpretado. web.
*Lenguaje de propósito
general.

*Gran cantidad de
funciones y librerías.

27
*Multiplataforma.

*Licencia de código
abierto (Opensource).

*Orientado a Objetos.
Ruby *Permite desarrollar *No soporta Programación de
soluciones a bajo Costo. polimorfismo de sistema orientado a
funciones (sobrecarga) objeto
*Software libre.
*No es tipado fuerte
*Multiplataforma.
*Interpretado = Lento

PHP *Se caracteriza por ser un *Se necesita instalar Desarrollo de sitios
lenguaje muy rápido. un servidor web. web dinámicos

*Soporta en cierta medida *La legibilidad del


la orientación a objeto. código puede verse
Clases y herencia. afectada al mezclar
sentencias HTML y
*Es un lenguaje
PHP.
multiplataforma: Linux,
Windows, entre otros. *Dificulta la
organización por capas
*Capacidad de conexión
de la aplicación.
con la mayoría de los
manejadores de base de
datos: MysSQL,
PostgreSQL, Oracle, MS
SQL Server, entre otras.

28
*Es libre, por lo que se
presenta como una
alternativa de fácil acceso
para todos.

HTML *Sencillo que permite *Lenguaje estático. Desarrollo de sitios


describir hipertexto. web
*La interpretación de
*Texto presentado de cada navegador puede
forma estructurada y ser diferente.
agradable.
*Guarda muchas
*Despliegue rápido. etiquetas que pueden
convertirse en
*Lenguaje de fácil
“basura” y dificultan
aprendizaje.
la corrección.

*Lo admiten todos los


*El diseño es más
exploradores.
lento.

*Las etiquetas son


muy limitadas.

Javascript *Lenguaje de scripting *Código visible por Desarrollo de sitios


seguro y fiable. cualquier usuario. web

*Los script tienen *Puede poner en


capacidades limitadas, por riesgo la seguridad del
razones de seguridad. sitio.

29
*El código Javascript se
ejecuta en el cliente.

ASP *Completamente Mayor consumo de Desarrollar páginas


web Maestras
orientado a objetos y recursos
eventos.

*Controles de usuario y
personalizados.

*División entre la capa de


aplicación o diseño y el
código.

*Facilita el
mantenimiento de grandes
aplicaciones.

*Incremento de velocidad
de respuesta del servidor.

*Mayor velocidad.

*Mayor seguridad.

En el desarrollo del sistema SIGA se utilizó el programa de Visual Studio 2012. La razón por
la que se ocupó este programa fue porque contiene el lenguaje de programación ASP.NET,
diseñado originalmente para la creación de páginas web maestras (debido a que el sistema
corre bajo la plataforma de cualquier navegador). Es usado principalmente en interpretación
del lado del servidor (server-side scripting).

30
Para el almacenamiento de los datos se utilizó la base de datos de SQL debido a que es un
sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis
millones de instalaciones.

2.8.1 ASP.NET.

Microsoft ® ASP.NET es un conjunto de tecnologías de Microsoft.


NET Framework para crear aplicaciones Web y servicios Web XML.
Las páginas ASP.NET se ejecutan en el servidor y generan de
marcado como HTML, WML o XML que se envía a una
computadora de escritorio o navegador móvil. Páginas ASP.NET utilizan un modelo de
programación orientada a eventos compilados que mejora el rendimiento y permite la
separación de la lógica de aplicación y la interfaz de usuario. Apareció en enero de 2002 con
la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server
Pages (ASP). ASP.NET está construido sobre el Common Language Runtime, permitiendo
a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el
.NET Framework.11

Tiene un entorno de secuencias de comandos del servidor que puede utilizar para crear
páginas Web dinámicas o para generar eficaces aplicaciones Web. Las páginas ASP son
archivos que contienen etiquetas HTML, texto y comandos de secuencias de comandos.

Las siglas ASP corresponden a las palabras Active Server Pages (Páginas Activas en el
Servidor). Es una tecnología que impulsó Microsoft hace ya varios años, y que en la
actualidad es uno de los lenguajes de programación web más utilizados.

ASP nos permite tomar ventaja del Server-Side scripting (scripting que se ejecuta en el
servidor). ASP nos provee de una gran cantidad de componentes y objetos con los cuales se
puede manejar de manera sencilla la interacción del Navegador y el servidor Web. Lenguajes
de scripts como JavaScript o VBScript se usan para manipular estos objetos.

11
Msdn.microsoft.com/es-es/library/4w3ex9c2(v=vs.100)aspx

31
Una de las características más importantes de las páginas ASP.NET es la posibilidad de
conectar con diferentes tipos de bases de datos, para extraer-agregar-eliminar datos de ellas,
y generar páginas con esos datos. Estas páginas se generan en forma dinámica, dependen de
las sentencias que se establezcan, para sí obtener los resultados del proceso realizado. Pueden
conectarse a motores de bases de datos SQL, Access, Oracle, y a cualquier otro con soporte
de conexión ODBC.

2.8.1.1 Características de ASP.NET

Ventajas

 Se encarga de detectar el tipo de navegador utilizado por el cliente a la hora de realizar


una petición al servidor y en consecuencia,
 determina la versión HTML que éste soporta.
 Es liviano.
 Se puede utilizar en cualquier computadora que esté conectada a la red que tenga
instalado un navegador.
 Es muy fácil de programar y tiene muchas utilidades que con una breve línea de
aprendizaje pueden ser modificadas a su gusto.
 Tiene la facilidad de conectarse con la base de datos, que hace que sea muy fácil.
 Permite a los proveedores de Web ofrecer aplicaciones de negocios interactivos y no
simplemente meros contenidos publicables.
 Una de las limitaciones en el desarrollo con ASP es que con el tradicional utilizamos
lenguajes de scripting no tipiados como VSBcrip o JScrip. Podemos instalar otros
motores scripting que impongan verificación de tipos; sin embargo, no son
universalmente conocidos o utilizados como los anteriores.

Desventajas

Una de las limitaciones en el desarrollo con ASP es que con el tradicional utilizamos
lenguajes de scriptingno tipiados como VSBcrip o JScrip. Podemos instalar otros motores
scripting que impongan verificación de tipos; sin embargo, no son universalmente conocidos

32
o utilizamos como los anteriores. Tiene que correr en PCs normales que tengan Windows y
un servidor Web.

Se muestra a continuación una matriz de los diferentes Sistemas de gestión de base de datos
(SGBD) con sus respectivas ventajas y desventajas.

SGBD Ventajas Desventajas


Oracle *soporta todas las funciones que se El mayor inconveniente de
esperan de un servidor Oracle e su precio. Incluso las
*Permite implementar diseños licencias de Personal Oracle son
"activos", con triggers y excesivamente caras.
procedimientos almacenados, con
una integridad referencial declarativa Es elevado el coste de la
bastante potente. formación, y sólo últimamente
han comenzado a aparecer
*Su soporte multiplataforma buenos libros sobre asuntos
*Permite el uso de particiones para la técnicos distintos de la simple
mejora de la eficiencia, de instalación y administración.
replicación e incluso ciertas
versiones admiten la administración
de bases de datos distribuidas

MySQL *MySQL software es Open Source *Un gran porcentaje de las


utilidades de MySQL no
*Bajo costo en requerimientos para
están documentadas.
la elaboración de bases de datos, ya
que debido a su bajo consumo *No es intuitivo, como otros
puede ser ejecutado en una máquina programas (ACCESS).
con escasos recursos sin ningún
problema.

33
*Su conectividad, velocidad, y
seguridad hacen de MySQL Server
altamente apropiado para acceder
bases de datos en Internet
Access *Se basa en la simplicidad *Tiene limitaciones en el
procesamiento de
*Consultas para buscar y recuperar
las búsquedas.
únicamente los datos que necesita.

*No es multiplataforma, pues


*Formularios para ver, agregar y
sólo está disponible para
actualizar los datos de las tablas.
sistemas operativos de
*Páginas de acceso a datos para ver, Microsoft.
actualizar o analizar los datos de la
base de datos desde Internet o desde
una intranet.

*otorga capacidades para aprovechar


la información, incluso si no es
experto en bases de datos
*
PostgreSQL * Ampliamente popular - Ideal para Es fácil de vulnerar sin
tecnologías Web. protección adecuada.
* Fácil de Administrar. *El motor MyISAM es
* Su sintaxis SQL es estándar y fácil instalado por defecto y carece
de aprender. de capacidades de integridad
* Footprint bajo de memoria, relacional.
bastante poderoso con una *InnoDB genera mucho
configuración adecuada. footprint en memoria al indizar.
* Multiplataforma. *El toolset empresarial tiene un
*Capacidades de replicación de costo adicional por suscripción
datos. anual.

34
* Realizar revisiones llegar a
ser una labor manual y tediosa
para el DBA.

SQLite *Tiene una pequeña memoria y una *Limitaciones en Where: esta


única biblioteca es necesaria para limitación está dada por el
acceder a bases de datos. soporte para clausuras anidadas.

* Se ejecuta en muchas plataformas y


* Falta de Clave Foránea:
sus bases de datos pueden ser
cuando se realice la creación de
fácilmente portadas sin ninguna
la tabla desde el modo consola,
configuración o administración.
está permitiendo el uso de la
clausura, aunque no realizara el
* Cuenta con diferentes interfaces del
chequeo de la misma.
API, las cuales permiten trabajar con
C++, PHP, Perl, Python, Ruby, Tcl,
Groovy, Qt ofrece el plugin qsqlite,
etc.

*
Es de dominio público, y por tanto,
es libre de utilizar para cualquier
propósito sin costo

SQL Server *Utiliza una extensión al SQL *Si utilizas SQL server para
estándar, que se denomina Transact practicas no te va hacer útil
SQL. porque en él se prohíben
muchas cosas tiene
* Cuando SQL Server no tiene tareas
restricciones.
de usuario para procesar, comienza a

35
escribir automáticamente las *La principal desventaja de
memorias intermedias sucias del SQL Server es la enorme
caché al disco. Como estas escrituras cantidad de memoria RAM que
se realizan en los ciclos de utiliza para la instalación y
inactividad del servidor, se utilización del software.
denominan escrituras libres.
*La relación calidad-precio está
*SQL Server nos permite olvidarnos muy debajo comparado con
un poco de los ficheros que forman la Oracle.
base de datos.

*Es un Sistema de Gestión de Bases


de Datos Relacionales (SGBDR).

*SQL permite administrar permisos a


todo. Permisos a nivel de servidor,
seguridad en tablas, permitir o no
lectura, escritura, ejecución;
seguridad en los procedimientos
almacenados.

2.8.2 SQL.

Microsoft® SQL Server™ es un sistema de administración y


análisis de bases de datos relacionales de Microsoft para
soluciones de comercio electrónico, línea de negocio y almacenamiento de datos. El lenguaje
de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un
lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos
tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo

36
relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla
información de interés de bases de datos, así como hacer cambios en ella.12

El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de


los sistemas relacionales y permite así gran variedad de operaciones.

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte


base teórica y su orientación al manejo de conjuntos de registros —y no a registros
individuales— permite una alta productividad en codificación y la orientación a objetos. De
esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en
un lenguaje de bajo nivel orientado a registros.

Características adicionales

 Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la


definición de esquemas de relación, borrado de relaciones y modificaciones de los
esquemas de relación.
 Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes
de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
 Integridad: El LDD de SQL incluye comandos para especificar las restricciones de
integridad que deben cumplir los datos almacenados en la base de datos.
 Definición de vistas: El LDD incluye comandos para definir las vistas.
 Control de transacciones: SQL tiene comandos para especificar el comienzo y el final
de una transacción.
 SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar
instrucciones de SQL en lenguajes de programación como: C++, C, Java, PHP,
Cobol, Pascal y Fortran.
 Autorización: El LDD incluye comandos para especificar los derechos de acceso a
las relaciones y a las vistas.

12
es.wikipedia.org/wiki/Microsoft_SQL_Server

37
2.9 Arquitectura de tres capas (Cliente – Servidor)

La programación por capas es un estilo de programación en el que el objetivo primordial es


la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto
consiste en separar la capa de datos de la capa de presentación al usuario.

Fig. 2.1 Arquitectura de Tres Capas (Cliente-Servidor) 1

En esta imagen se muestra un ejemplo de la arquitectura de tres capas, donde se indica cada
una de ellas, de tal manera que se pueda tener una mejor idea de cómo funciona.

La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles
y, en caso de que sobrevenga algún cambio, sólo se ataca al nivel requerido sin tener que
revisar entre código mezclado. Un buen ejemplo de este método de programación sería el
modelo de interconexión de sistemas abiertos.

Además, permite distribuir el trabajo de creación de una aplicación por niveles; de este modo,
cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con
conocer la API que existe entre niveles. En el diseño de sistemas informáticos actual se suele
usar las arquitecturas multinivel o Programación por capas. En dichas arquitecturas a cada
nivel se le confía una misión simple, lo que permite el diseño de arquitecturas escalables (que

38
pueden ampliarse con facilidad en caso de que las necesidades aumenten).El diseño más
utilizado actualmente es el diseño en tres niveles (o en tres capas).

2.10 Bases Teóricas.

2.10.1 Diagrama de Flujo de Datos.

El diagrama de flujo de datos (DFD), es una herramienta que permite visualizar un


sistema como una red de procesos funcionales, conectados entre sí por "conductos" y
"tanques de almacenamiento" de datos. Siendo éste, una de las herramientas comúnmente
usadas, sobre todo por sistemas operacionales en los cuales las funciones del sistema son de
gran importancia y más complejos que los datos que este maneja.

La técnica de DFD, es una representación gráfica que permite al analista definir


entradas, procedimientos salidas de la información de la organización en estudio,
permitiendo así comprender los procedimientos existentes con la finalidad de optimizarlos,
reflejándoles en el sistema propuesto.

Los elementos básicos que aparecen en cualquier Diagrama de Flujo de Datos, son los
siguientes:

 Entidad Externa.
 Proceso.
 Almacén de Datos.
 Flujo de Datos.

Es importante saber que los DFD no sólo se pueden utilizar para modelar sistemas de
información, sino también como manera de modelar organizaciones enteras, es decir, como
una herramienta para la planeación estratégica y de negocios.

39
2.10.2 Simbología

Entidad Externa: Son generalmente clases lógicas de cosas o de personas, las cuales
representa la fuente o destino de las transacciones, con las que el sistema se comunica.
También pueden ser una fuente o destino específico.

Procesos: Indican aquellos lugares dentro del sistema en donde la información (flujos
de datos) que ingresa se procesa o transforma, es decir, son las funciones o procesos que
transforman entradas de datos en salidas de información.

Flujo de Datos: Representa un transporte de paquetes de datos desde su origen hasta


su destino, es decir, que representa una estructura de datos en movimiento de una parte del
sistema a otro. Un flujo muestra las interfaces entre los elementos del DFD.

Almacén o Archivo: Representa un archivo lógico en donde se agregan o de donde


se extraen datos. Es una estructura de datos, pero estática. Puede ser físicamente un archivo
de tarjetas, una microficha, un archivo, o un archivo en cinta o disquette. Deberá elegirse el
nombre que sea más descriptivo para el usuario, que identifique los paquetes de datos que
contiene.

 Implica escritura, actualización, o borrado de datos.


 Implica lectura o recuperación de información almacenada.

2.11 Enfoque Funcional o de Caja Blanca.

La prueba de caja blanca, denominada a veces como prueba de caja de cristal es un método
de diseño de casos de prueba que usa la estructura de control del diseño procedimental para
obtener los casos de prueba, que garanticen que se ejercita por lo menos una vez todos los
caminos independientes de cada módulo; ejercitan todas las decisiones lógicas y las
estructuras internas de datos para asegurar su validez.

El principal objetivo de casos de prueba es obtener un conjunto de pruebas que tengan la


mayor probabilidad de descubrir los defectos del software. Para llevar a cabo este objetivo,
se usan diferentes técnicas de diseño de casos de prueba.

40
Las pruebas de caja blanca se centran en la estructura de control de programa. Se obtiene
casos de prueba que aseguren que durante la prueba se han ejecutado por lo menos una vez,
todas las sentencias del programa y que se ejercitan las condiciones lógicas.

Las técnicas de pruebas de software, facilitan una guía sistemática para diseñar pruebas que:

 Comprueben lógica interna de los componentes software.


 Verifiquen los dominios de entrada y salida del programa para descubrir errores en la
funcionalidad, el comportamiento y el rendimiento.

2.12 Diseño de Tablas

De forma sencilla se puede indicar que una base de datos no es más que un conjunto de
información relacionada que se encuentra agrupada o estructurada. El archivo por sí mismo,
no constituye una base de datos, sino más bien la forma en que está organizada la información
es la que da origen a la base de datos. Las bases de datos manuales, pueden ser difíciles de
gestionar y modificar.

Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto
de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulan ese conjunto de datos.

El sistema SIGA, para la administración de la empresa APITUX, área Tuxpan, Ver. Cuenta
con una Base de Datos que está conformada por cuatro tablas (Usuarios, Mensajes,
Documentos, Login).

Tabla Usuarios:
Esta tabla permite almacenar cada uno de los usuarios de la APITUX de manera que
pueda servir para llevar un control de los usuarios que entran.
Usuarios: (clave_usuario, Nombre, Apellido_Pat, Apellido_Mat, Puesto, email)

41
Tabla Mensajes:
Esta tabla permite almacenar todos los mensajes que los usuarios envíen y adjuntar
los archivos que revisaran los usuarios.
Mensajes: (emisor, receptor, Mensaje, archivo)

Tabla Documentos:
Esta tabla permite almacenar los documento, los cuales tendrán acceso los usuarios
para revisarlos y fírmalos.
Documentos: (folio_Documento, Nombre, direccion)

Tabla Login
Permite almacenar los usuarios que accederán el sistema con su respectiva
contraseña.
Login:(id_usuario, usuario, pass)

42
CAPÍTULO 3.

APLICACIÓN Y RESULTADOS
3.1 Solución del Problema.

Hoy en día la empresa APITUX cuenta con el Sistema SIGA el cual le permite realizar
actividades como: subir documentos, descargas, firmar electrónicamente los archivos y
cuenta con un worflow en el cual los responsables estarán comunicados, de manera que los
documentos subidos estén almacenados de una forma más viable evitando la perdida de
documentos, con ello a un mejor control de información dentro de dicha empresa y recicla
papel.

El sistema ha mejorado de manera satisfactoria la realización de actividades administrativas


como lo es la firma electrónica de cada uno de los responsables y con ello evitar que no se
retrase él envió de la documentación, de los responsables que han generado sus
procedimientos y así poder llevar un control de calidad de los procedimientos de la APITUX
por cada área.

También tiene la opción de comunicarse mediante el proceso del worflow, permite tener
una implementación, automatización y seguimiento de procesos administrativos en donde
se involucren documentos de forma relacionada con los representantes de la Administración,
optimiza la utilización de los recursos, de esta manera brindar un mejor servicio más eficiente
y de calidad para los responsables de la organización.

43
3.2 Instrumentos Empleados

Hardware: Corresponde a todas las partes físicas y tangibles de una computadora, sus
componentes eléctricos, electrónicos, electromecánicos y mecánicos. Se utilizaron para el
desarrollo del sistema:

 2 Computadoras.

Software: Es el conjunto de programas de cómputo, documentos saciados y esquemas de


configuración necesarios para estos programas operen, En el desarrollo del sistema se
emplearon:

 ASP.NET
 C#
 HTML
 AJAX
 ESTILO CSS
 SQL SEVER 2008
 Visual Studio 2012

44
3.3 Resultados.

El sistema SIGA brinda al administrador la facilidad de manejar la información de


una forma segura y controlada ya que cuenta con una base de datos que le permite almacenar
información evitando la perdida de datos. Algunas de las actividades se citan a continuación.

 Control de acceso para el administrador.


 Control de acceso para el usuario.
 Gestión de la información subida por los usuarios y el administrador.
 Firma Electrónica Avanzada

El proyecto del Sistema Integral de Gestión de Calidad de la Administración


Portuaria Integral Tuxpan, Ver., está formado por varias interfaces y una base de datos.

Aplicando métodos y técnicas de ingeniería de software se utilizó el Modelo de


Programación Extrema representado en la fig. 3.1

45
Diseño simple Soluciones pico
Historias del usuario Cartas CRC prototipos
valores
Criterios de las pruebas de iteración
Plan de iteración
ÑO
DISE

AC ION
LA NIFIC
P

N
IFIC ACIO
recodificación
COD

Programación en pareja
BA
P RUE

Prueba de unidad
Lanzamiento Integración continua
Incremento de software
Velocidad calculada del
proyecto Pruebas de aceptación

Fig. 3.1 Modelo de Programación Extrema 1

Las fases de este modelo son: Planificación, Diseño, Codificación (construcción del sistema),
Pruebas (verificación y validación), y una última fase la Implementación (ejecución final del
sistema).

En el sistema SIGA, se utilizó el método de programación extrema, ya que este


modelo admite la posibilidad de hacer cambios ya que en este el sistema los requerimientos
no se tenían definidos y fueron cambiando a lo largo del proceso de desarrollo, por ejemplo
la necesidad de cambiar, lo cual significa que se harán los cambios necesarios en la
codificación y se tendrán que realizar de nuevo la pruebas.
La razón por la que se utilizó el modelo de programación extrema, fue porque es los
clientes estuvieron involucrados directamente con el proyecto todo el tiempo, ya que en cada
etapa de este modelo permite la comunicación, tanto cliente-desarrollador como entre
desarrollares.

46
Dentro de la etapa de Planificación, se planteó la planificación como un permanente
dialogo entre las partes la empresarial (deseable) y la técnica (posible). Describir brevemente
las características que el sistema debía poseer, se llegó a la necesidad de realizar una
entrevista con el encargado del departamento de Calidad de APITUX. Por medio de la
entrevista realizada se dieron a conocer las necesidades de la administración y el punto de
vista de los clientes (usuarios).
Así mismos se realizó una investigación preliminar en la administración para poder detectar
las necesidades y posibles soluciones.
Parte fundamental en la elaboración del sistema fue estudiar los procesos que realizara
la aplicación, como agregar, modificar y consultar un documento, estos procesos solo los
puede realizar el administrador, mientras usuario solo podrá bajar y subir los documentos.
Después de reunir todos los detalles se realizó un estudio de los datos sobre requerimientos
con la finalidad de identificar las características con las que debe contar el sistema SIGA.
Parte de los objetivos de la planificación del sistema SIGA es, tener un mayor
conocimiento de las actividades que no se encuentran automatizadas dentro de la
organización y buscar la manera de que los administradores y usuarios de la administración
puedan llevar un control de información, y de esta manera poder visualizar consultar, y
buscar información.
3.3.1 Proceso de Desarrollo

3.3.1.1 Los Roles

Hay que tener en cuenta que los desarrolladores del proyecto era solo dos (2) personas
por los que los roles definidos en XP fueron ocupados por ellos, y en algunos casos por el
asesor del proyecto.
 Programador: Esteban Lucas Martínez y Lisbeth Analy Velasquez Leyva
escribieron las pruebas unitarias y produjeron el código del sistema.
 Cliente: Los desarrolladores del proyecto y la Jefa del Departamento de Informática,
escribieron las historias de usuario y las pruebas funcionales para validar su
implementación. Pero solo los desarrolladores asignaron la prioridad a las historias
del usuario y decidieron cuáles se implementaron en cada iteración.

47
 Encargado de pruebas (Tester): La Jefa del Departamento de Informática ayudo a
escribir las pruebas funcionales. Ejecutó las pruebas regularmente, e informo los
resultados y apreciaciones al equipo de desarrollo.
 Encargado de seguimiento (Tracker). La Jefa del Departamento de Informática
proporcionó realimentación al equipo y realizo el seguimiento del progreso de cada
iteración.
 Entrenador (Coach): Lisbeth Analy Velasquez Leyva fue el responsable del proceso
global. Fue el encargado de proveer guías al equipo de forma que se apliquen las
prácticas XP y se siguiera el proceso correctamente.

Algunos roles definidos en XP (Consultor y gestor o Big Boss) no fueron tomados en


cuenta para este proyecto, bien porque no fuese necesario o porque el tamaño tan reducido
del equipo de trabajo no lo permite.

3.3.2 Planificación

3.3.2.1 Historias de Usuario

En esta el cliente describió brevemente las características que el sistema debe poseer:
Numero
de
Historia de Usuario Tareas
Historia
1 Creación de la Base de Datos, donde se -Diseño e implementación de la
almacena la información. base de datos
2 Aplicación debe ser amigable y de fácil -Buscar un diseño amigable y
uso para los usuarios. agradable para todos los usuarios.
3 Todos los responsables (Jefes de Área, -Diseño e implementación del
Coordinadores, Director General) Pueda módulo Documentos
consultar los documentos.
4 Creación de una aplicación que guarde -Diseño e implementación de los
los documentos de los procedimientos módulos de Guardar
de la APITUX

48
5 Creación de una aplicación que pueda -Diseño e implementación de los
bajar y subir documentos. módulos de Guardar
6 Creación de una aplicación que pueda -Diseño e implementación de la
firmar electrónicamente los documentos FIEL
los responsables.
7 Creación de un worflow, para la -Diseño e implementación del
comunicación de los usuarios Worflow
8 Debe existir una parte privada en la -Diseño e implementación de un
aplicación para la administración de los módulo que solicite el ingreso de
datos, las cual solo pueda ser accedida un Nombre de Usuario y
por una persona autorizada. Contraseña para acceder a la
parte privada del Administrador.
9 La aplicación debe tener las -Se debe diseñar e implementar las
restricciones necesarias para evitar validaciones respectivas en los
errores en la base de datos. diferentes campos que se ingresan
en la base de datos.
10 La aplicación debe estar disponible en -Elegir una herramienta de
la red de la Administración y en el desarrollo para aplicaciones web.
servidor.

3.3.2.2. Versiones e interacciones

 Versión 0.1

Iteración 1:
Es el diseño de la Base de Datos es la parte primordial para empezar con el desarrollo de
cualquier aplicación, ya que un buen diseño de ésta, es la base fundamental para el óptimo
funcionamiento y éxito de cualquier software.
Para definir el diseño se contó siempre con la ayuda de los clientes, quienes informaban que
datos serian relevantes para el proyecto.

49
Fig. 3.2: Modelo Entidad-Relación 1

A continuación se explican las tablas usadas:


 Tabla Mensajes: Esta tabla se almacena los mensajes de los usuarios,
respectivamente los archivos. Contiene los siguientes datos.
 Emisor: En este campo se almacena el emisor.
 Receptor: En este campo se almacena el receptor.
 Tabla Documentos: Esta tabla se guarda los documentos de los usuarios. Contiene
los siguientes datos.
 Folio: Este campo es la llave primaria de la tabla Documentos
 Nombre: Este campo almacena el archivo físico como tal.
 Clasificación: Este campo almacena la clasificación de los documentos
 Num_firmas: Este campo almacena el número de firmas que tienen que
contener los documentos.
 Tipo: Este campo almacena que tipo de archivo es.
 Nombre_archivo: Esta campo almacena los nombres de los archivos.

50
 Tabla Usuarios: Esta tabla se guarda los usuarios del sistema. Contiene los
siguientes datos:
 Clave_usuario: Este campo es la llave primaria de la tabla Usuarios.
 Nombre: Este campo almacena los nombres de los usuarios.
 Apellido_pat: Este campo almacena el apellido paterno de los usuarios.
 Apellido_mat: Este campo almacena el apellido materno de los usuarios.
 Puesto: Este campo almacena el puesto del usuario.
 Email: Este campo almacena el correo del usuario.
 Archivo_cer: Este campo almacena él .cer de los usuarios para la firma
electrónica
 Tabla Inicio: Esta tabla almacena el Login del sistema. Contiene los siguientes datos:
 Id_Usuario: Este campo contiene la segunda llave de la tabla Inicio.
 Usuario: Este campo almacena a los usuarios del sistema.
 Pass: Este campo almacena la contraseña del usuario.
 Rol: Este campo almacena el rol del usuario.

 Tabla Rol: Esta tabla almacena los roles de los usuarios como en la empresa,
respectivamente en el sistema SIGA. Contiene los siguientes datos.
 Id: Este campo contiene la llave primaria de la tabla Rol.
 Rol: Este campo almacena el rol de los usuarios.

Iteración 2:
Creación de los diagramas UML que son un lenguaje gráfico para visualizar, especificar,
construir y documentar un sistema.

51
Fig. 3.3: Diagrama de casos de usos 1

Fig. 3.4 Diagrama de Clases 1

52
Fig. 3.5: Diagrama de actividades 1

53
 Versión 0.2

Iteración 1:
Como la aplicación debía estar en la red para poder ser consultada desde cualquier parte, se
selecciona ASP.NET, ya que es uno de los software de desarrollo para aplicaciones web
utilizadas y de gran difusión, por estas razones y por otras que se nombran en el apartado
ASP.NET del Capítulo 2, se consideró como una herramienta ideal para el desarrollo de esta
aplicación.
Iteración 2:
Como se buscaba tener un diseño amigable, intuitivo y de fácil uso para la aplicación se creó
una página principal (Master Page), las cual es una plantilla de la que heredaran todas las
demás páginas de la aplicación web. De esta forma se tiene una estructura fija para todo el
sitio web mediante un ContentPlaceHolder central, que heredarán todas las páginas, donde
se pudo colocar los elementos visuales específicos de una de ellas.
En la página principal (“Index.aspx”) se definió la estructura común para toda la aplicación
web, se buscó que la combinación de los colores de la página fuera agradable a la vista del
usuario se muestra en la figura 3.6.

Fig.
Fig.3.6:
3.6:Página
PáginaPrincipal.
Principal.1

54
Iteración 3:
Como en la iteración 2 no se observó un avance significativo para sacar una nueva versión,
se hizo necesario implementar el módulo de documentos. Para ello se ingresaron
directamente a la base de datos.
Gracias a los controles que proporciona la herramienta ASP.NET se pudieron crear los
enlaces al motor de base de datos y a sus diferentes tablas, para así hacer las consultas
respectivas.
Por ejemplo, para el caso de consultar ver documentos se utilizó un control gridview enlazado
con tabla documentos, el cual muestra todos los documentos que se han subido al sistema, y
haciendo un filtrado respectivo a la sentencia de SQL, se pueden visualizar los datos
esperados.
Las demás consultas se hicieron de la forma similar, por ejemplo para la consulta mensajes
leídos simplemente se cambió la tabla mensajes y haciendo su respectivo filtrado se
visualizan los datos deseados.
Para la consulta del Login simplemente se cambió a la tabla mensajes por la de inicio y
haciendo su respectivo filtrado se visualizan los datos deseados.
De esta manera se terminó la versión 0.2, cumpliendo con las tareas de historia de usuario
número 2, 3 y 10. Esta versión se le enseño a los clientes, los cuales dieron su visto bueno al
sentirse conformes con los avances presentados.
 Versión 0.3

Iteración 1:
En esta versión se implementó el módulo de Guardar el archivo como usuario Administrador.
Este módulo se hizo la aplicación que permitiera Guardar los documentos a la base de datos,
por medio de los controles que proporciona la herramienta ASP.NET
De esta manera se terminó la versión 0.3, cumpliendo con las tareas de la historia de usuario
número 5.
Esta versión se le enseño a los clientes, los cuales dieron su visto bueno al sentirse conformes
con los avances presentados.

55
 Versión 0. 4

Iteración 1

En esta versión se implementó el módulo de Firma electrónicamente avanzada en el sistema.

En este módulo se hizo la aplicación y el diseño que permitirá a los responsables de sus
procedimientos firmar electrónicamente desde el sistema, se necesita dos archivos uno
privado y uno público, y tienen su propia contraseña, para firmar se compara el archivo
privado con el público si los dos coinciden se firma. De esta manera se terminó la versión
0.4, cumpliendo con las tareas de la historia de usuario número 6.

 Versión 0.5

Iteración 1

En esta versión se implementó el worflow del sistema. En este módulo se hizo la aplicación
para que mediante mensajes los cuales van adjuntar los documentos los usuarios van a tener
un flujo de trabajo automatizado.

Mediante la herramienta de SQL y Visual Studio 2012, en SQL se hizo una tabla de
compuesta la cual es Mensajes, que respectivamente tienes los campos emisor, receptor y
archivo

De esta manera se terminó la versión 0.5, cumpliendo con las tareas de la historia de usuario
número 7.

Esta versión se le enseño a los clientes, los cuales dieron su visto de bueno al sentirse
conformes con los avances presentados.

 Versión 0.6 hasta la 0.10

De la versión 0.6 hasta la versión 0.10 se trabajó en el diseño estético de la aplicación.

56
En cada una de las iteraciones que involucraba la entrada de datos a la Base de Datos por
parte del Usuario y Administrador del sistema, se diseñaron e implementaron los diferentes
tipos de validaciones respectivas para cada uno de los campos que lo requieren.

3.3.3 Diseño

Esta etapa donde se desarrollo la estructura del Sistema SIGA, el diseño del software
se enfoca en cuatro atributos del programa : la estructura de los datos, la arquitectura del
software, el detalle procedimental y la caracterización de la interfaz.

El proceso de diseño traduce en una empresa una presentación del software con la
calidad requerida antes que comience la codificación.

En esta etapa la estructura se diseñó en hojas blancas y posteriormente se utilizó el


software adecuado para la elaboración de interfaces.

La ubicación donde se guardara la información es muy importante, tiene que brindar


seguridad para mantener la integridad de los datos, por lo tanto se guardara en la Base de
Datos.

Otro aspecto importante en el Diseño, es la constante reestructuración del código. El principal


objetivo de la Reestructuración es evitar la duplicidad de código, simplificarlo y hacerlo más
flexible para facilitar los posteriores cambios. Esto se hizo contantemente en la programación
de la aplicación por ejemplo, el módulo Mensajes para consultarlos utilizamos el método
mostrar_nombre que se utilizó en las demás módulos como Ver Documentos, así
reutilizamos el código.

Para el diseño de la aplicación el equipo de trabajo siguió las recomendaciones de la


metodología ágil XP, siempre se trató de evitar las soluciones complejas y se trabajó en una
sola iteración, sin pensar en las que vendrían más adelante.

3.3.4 Codificación

Esta etapa se realizó con la ayuda del software adecuado para llevar a cabo la
elaboración de dicho sistema.

57
Se utilizó ASP.NET, lenguaje de programación para realizar sistemas que permite correr en
cualquier navegador de internet, diseñar y codificar así como la elaboración de aplicaciones
web. Además de la utilización de HTML, C#, ESTILOS CSS, AJAX y SQL SEVER para
la elaboración de la base de datos.

Para la realización del Sistema SIGA se utilizó la arquitectura cliente – servidos ya


que esta arquitectura permite abrir una página en el navegador, normalmente se teclea el
correspondiente URL o se da click en el hiperenlace oportuno. Una vez que se solicita la
petición mediante el protocolo HTTP esta localiza la página web en un sistema de ficheros y
la envía de vuelta al navegador que la solicito.

3.3.4.1 Estándares de codificación

La metodología XP aconseja seguir estándares de codificación para que cualquier integrante


del equipo de desarrollo pueda entender y asimilar fácilmente código escrito por otro
integrante. Seguir esta recomendación fue fácil para los desarrolladores ya que venían
trabajando el mismo de tiempo atrás en otros desarrollos y esta buena práctica siempre se
tuvo presente. (Ver Anexo A. Estándares).

3.3.5 Pruebas
Una vez que se ha generado el código comienza la prueba del programa. La prueba
se centra en la lógica interna del software, y en las funciones externas, realizando pruebas
que aseguren que la entrada definida produce los resultados que realmente se requieren.

Pruebas realizadas:

 Visualización de sistema y su correcta funcionalidad


 La vinculación o enlaces sean los correctos.
 Verificar que al ingresar los datos se almacenen en el lugar establecido
 Verificar que la Base de Datos almacene correctamente la información.
 Comprobar si el sistema lleva una secuencia ordenada de acuerdo a las operaciones
establecidas.

58
Se ejecuta el Sistema con intención de descubrir un error, y si existe alguna falla poder
corregirla.

XP recomienda diseñar las pruebas antes de codificar los módulos, esta práctica represento
un cambio drástico en la forma de desarrollar del equipo de trabajo ya que como no había
utilizado en proyectos anteriores se tuvo inconveniencias y por esta razón se llevó más tiempo
de lo deseado (Ver Anexo B. Pruebas).

3.3.5.1 Planes de Prueba

Una vez que el sistema SIGA de APITUX. Es necesario pasar por una serie de pruebas.
La prueba del software es un elemento de un tema más amplio que, a menudo, es conocido
como verificación y validación. La verificación se refiere al conjunto de actividades que
aseguran que el software construido se ajusta a los requisitos del cliente.
Para verificar que el sistema funcionara correctamente se realizaron las siguientes pruebas.
Verificar la Conexión con la Base de Datos.
Objetivo:
Comprobar que existiera una conexión del Sistema con la Base de Datos.
Pasos
1.- Conexión con la Base de Datos.
2.- Realizar la conexión mediante la instrucción SqlConnection.
3.- Si la conexión obtiene el valor de falso enviara un mensaje de error al usuario indicando
que no existe dicha conexión, de caso contrario el resultado será favorable.
Resultados:
Los resultados fueron satisfactorios, porque permitió conectarse con la base de datos.
Verificar si al momento de ingresar información se almacenara en el lugar correcto
Objetivo:
Mostrar el mensaje de que la información había sido guardada y existente en la base de datos.
Pasos:
1. Dar clic en botón crear mensaje
2. Seleccionar un destinario.
3. Escribir un mensaje.
4. Seleccionar el archivo
59
5. Dar clic en botón enviar
6. Esperar que cierre el cuadro de dialogo, si cierra el mensaje se envió correctamente.

Resultados:
Los resultados obtenidos fueron favorables ya que en las dos opciones la información pudo
ser almacenada exitosamente y se visualizó en la Base de Datos.
Verificar que los mensajes se envíen y se almacenen.
Objetivo:
Los mensajes enviados pueda ser consultada por el usuario y verificar en caso de tener
errores.
Pasos:
1. Dar clic en botón crear mensaje
2. Seleccionar un destinario.
3. Escribir un mensaje.
4. Seleccionar el archivo
5. Dar clic en botón enviar
6. Dar clic en menú Enviados.
7. La pantalla deberá visualizarse los mensajes que ha enviado.

Resultados:
Los resultados fueron satisfactorios ya que en ambas opciones la información que mostro era
correcta con respecto a lo ingresado anteriormente.

Verificar que las páginas maestras se coordinen correctamente cada vez que se llamen
a llamar.
Objetivo:
En caso de contar con algún error al momento de las llamarlas, permitirá realizar ciertas
modificaciones, lo cual sirve para verificar si está bien enlazadas.
Pasos:
1. Inicializo el proyecto, si carga la página maestra principal, es decir, correr bien la
primera.

60
2. Introducir las credenciales y acceder al sistema, si entra, es decir, funciona
correctamente la segunda página maestra.
3. Si las paginas principal y la segunda está trabando, es decir, funciona la última página
maestra.

Resultados:
Los resultados fueron favorables ya que los enlaces efectuados fueron correctos en las
páginas maestras.
Verificar la acción de dar de alta un usuario y se almacene a la Base de Datos.
Objetivo:
Es corroborar que se están ingresando usuarios al sistema y que posterior se guardan en la
base de datos.
Pasos:
1. Dar clic al menú Administrar Intranet.
2. Selecciona la acción dar de alta un usuario, de la lista desplegable.
3. Llenar los campos correspondientes para dar de alta al usuario.
4. Dar clic en el botón guardar y seguir.
5. Llenar los campos del login.
6. Dar clic al botón crear login
7. Saldrá un mensaje de alerta indicado que se ha dado de alta al usuario

Resultados:
Los resultados fueron favorables ya que la información pudo ser almacenada exitosamente
y se visualizó en la Base de Datos.
3.3.6 Interfaces

3.3.6.1 Interfaces parte usuario.

La página de Iniciar Sesión contiene la autentificación de los usuarios, y un formulario para


Ingresar el nombre del usuario y la contraseña del usuario para acceder a la parte usuario del
sistema. Ver Fig. 3.4.

61
3.3.6.2 Iniciar Sesión.

Fig. 3.7: Página de Inicio Sesión 1

3.3.6.3 Inicio

La página de inicio del sistema, es la página de presentación, además cuenta con mensaje de
bienvenida para los usuarios. Ver la Fig. 3.8.

Fig. 3.8: Inicio 1

62
3.3.6.3 Mensajes

Es la parte de mensajes en donde están todos los métodos mensajes que recibe el sistema.

3.3.6.4 Mensajes recibidos

En esta parte el usuario visualizara sus mensajes recibidos y podrá actualizar sus mensajes.
Ver la Fig. 3.9.

Fig. 3.9: Mensajes recibidos. 1

3.3.6.5 Mensajes Leídos

Este parte el usuario verifica sus mensajes leídos y posteriormente puede actualizar. Ver Fig.
3.10

63
Fig. 3.10 Mensajes Leídos 1

3.3.6.6 Mensajes No leídos

En esta parte el usuario verifica que mensajes no ha leído e igual puede actualizar. Ver Fig.
3.11

Fig. 3.11 Mensajes No leídos 1

64
3.3.6.7 Mensajes Enviados

En esta parte el usuario verificara los mensajes que ha envido e igual podrá actualizar. Ver
Fig. 3.12.

Fig. 3.12 Mensajes Enviados 1

3.3.6.8 Documentos

En esta parte en donde se resguardan los documentos.

3.3.6.9 Ver Documentos

En esta parte es donde los usuarios verán todos los documentos. Ver Fig. 3.13

65
Fig. 3.13: Ver Documentos 1

3.3.6.9 Interfaces parte administrador.

La página de Iniciar Sesión contiene la autentificación del administrador, y un formulario


para Ingresar el usuario del Administrador y la contraseña del Administrador que está
intentando acceder a la parte privada del sistema. Ver Fig. 3.14

3.3.6.10 Iniciar Sesión.

Fig. 3.14: Iniciar Sesión 1

66
3.3.6.11 Inicio

La página de inicio del sistema, es la página de presentación. Ver la Fig. 3.15.

3.15 Inicio 1

3.3.6.12 Mensajes

Es la parte de mensajes en donde están todos los métodos mensajes que se tienen.

3.3.6.13 Mensajes recibidos

En esta parte es en donde el administrador visualizara sus mensajes recibidos y podrá


actualizar sus mensajes y crear mensajes. Ver la Fig. 3.16.

67
Fig. 3.16 Mensajes Recibidos y Crear Mensajes 1

3.3.6.14 Mensajes Leídos

Este parte es en donde el administrador verifica sus mensajes leídos y posteriormente puede
actualizar. Ver Fig. 3.17

68
Fig. 3.17 Mensajes Leídos 1

3.3.6.15 Mensajes No leídos

En esta parte el usuario verifica que mensajes no ha leído e igual puede actualizar. Ver Fig.
3.18

Fig. 3.18 Mensajes No leídos 1

69
3.3.6.16 Mensajes Enviados

En esta parte el administrador verificara los mensajes que ha envido e igual podrá actualizar.
Ver Fig. 3.19.

Fig.3.19: Mensajes Enviados. 1

3.3.6.17 Documentos

En esta parte en donde se resguardan los documentos.

3.3.6.18 Ver Documentos

En esta parte es donde los usuarios verán todos los documentos. Ver Fig. 3.20

70
Fig. 3.20: Ver Documentos 1

3.3.6.18 Administrar Intranet.

En esta parte el administrador gestiona los usuarios y los documentos de los usuarios.

3.3.6 19 Gestionar Usuarios.

En este apartado el administrador tiene cuatro acciones. Ver Fig. 3.21.

Fig. 3.21: Gestionar Usuarios 1

71
En esta ventana aperecen una lista desplegable donde indica las acciones que puede realizar
el administrador. Al mometo de dar click en alguna de las opciones este despegara otra
pantalla de acuerdo a la función que se vaya a realizar.

Contiene las diferetes acciones que es:

1.- Dar de alta un usuario.

2.-Dar de baja un usuario.

3.- Actualizar un usuario.

4.- Ver todos los usuarios.

Ventana del submenú (Dar de alta un usuario).

Fig. 3.22: Dar de alta un usuario 1

Al realizar la pantalla se pensó que fuera fácil de manejar esta figura muestra como dar de
alta un usuario llenando cada una de las cajas de texto, y subiendo el archivo para mayor
facilidad.

72
Al momento de haber ingresado todos los datos se procede a dar clic en el botón guardar u
seguir, en donde enviara al formulario del login del usuario que ha sido guardado.

Fig. 3.23: Login del usuario 1

Fig. 3.24: Dado de alta correctamente. 1

73
Ventana del submenú (Dar de baja un usuario).

Fig. 3.25. Dar de baja a un usuario 1

En esta ventana el administrador va a dar de baja a los usuarios que ya no necesite el sistema.

Ventana del submenú (Actualizar un usuario).

Fig. 3.26 Actualizar usuario 1

74
En este ventana actualizar usuario el administrador podrá modificar los datos de los usuarios
como Nombre, Apellido paterno, Apellido Materno, E-mail, Rol, Puesto y los datos del login.

Fig. 3.27: Modificar los campos de los usuarios 1

Ventana del submenú (Ver usuarios).

Fig.3.28: Ver usuarios 1

75
3.3.6.20 Gestionar Documentos.

En este apartado el administrador tiene 3 acciones. Ver Fig. 3.29.

Fig. 3.29: Gestionar Documentos 1

En esta ventana aperecen una lista desplegable donde indica las acciones que puede realizar
el administrador. Al mometo de dar clic en alguna de las opciones este despegara otra pantalla
de acuerdo a la función que se vaya a realizar.

Contiene las diferetes acciones que es:

1.- Subir archivo

2.-Eliminar archivo.

3.- Ver todos los archivos.

Ventana del submenú (Subir archivo).

76
Fig. 3.30: Subir archivos 1

En esta ventana se ingresa el folio del documento y clasificación con un DropDownList que
ya está almacenada do en la B.D. Al momento de haber ingresado todos los datos se
procede a dar clic en el botón aceptar, y nos mandara un mensaje de alerta que el archivo
fue cargado con éxito.

Ventana del submenú (Eliminar archivo).

Fig. 3.31: Eliminar archivo 1

77
En esta ventana solo el administrador seleccionar el folio del documento y le clic al botón
eliminar.

Ventana del submenú (Ver todos los archivos).

Fig. 3.32: Ver todos los archivos 1

78
3.4 Conclusiones

Con el diseño del sistema de SIGA. Se lograron los objetivos planteados al inicio del
proyecto, por lo que con los resultados al momento de implantarlo fueron los esperados. El
objetivo de la Gestión documental se logró mediante una base de datos, en la cual se
guardaran los archivos, se mostraran; se podrán actualizar y por supuesto eliminar el
administrador del sistema. Se muestra en el apartado 3.3.6.20.

La FIEL se realizó mediante dos archivos personales de los usuarios de sistema los
cuales son .key y .cer los cuales deberán ingresar para poder firmar los documentos. Se
muestra en el apartado 3.3.6.13.

El proyecto “del sistema de control de calidad de la Administración Portuaria Integral


de Tuxpan S.A de C.V.” Ofrecerá mayor facilidad en el flujo de la información de esta
manera evitara la perdida de información, y podrá estar a la mano más rápidamente evitando
el almacenamiento excesivo de papel.
Se muestra una matriz con las diferencias entre el sistema SIGA y el antiguo sistema
que contaba la Administración.

Sistema SIGA Intranet APITUX


Implementación de un módulo de control de Todo personal que tuvieras la dirección IP
usuarios, mediante un login. podría acceder a la intranet.
Se implementó una base de datos, se Los usuarios bajan los documentos y los
almacenan los documentos con una copia imprimen para firmar los ejercicios de
controlada y así se ahorrara el uso del papel. Administración y es un desperdicio de
papel.
Implementación de un worflow, para que La comunicación es personal y por lo tanto
estuvieran comunicados los participantes en es lenta, debido al tiempo de respuesta.
un ejercicio.

79
Implemento la Firma Electrónica Los documentos se firman después de
Avanzada, con la cual el mismo usuario imprimirlos.
podrá firmar en el sistema.
Implemento un Administrador del sistema. No tiene en específico un administrador de
la intranet.

Para finalizar se podrá decir que gracias al desarrollo del proyecto se adquirió más
experiencia, además de que se emplearon conocimientos en el área de Ingeniería en Sistemas
Computacionales, y un logro personal al aprender cómo desarrollarse en un ambiente laboral.

80
Recomendaciones

Teniendo en cuenta el avance y desarrollo tecnológico tanto en equipos de cómputo y


lenguaje de programación, es recomendable prevenir ante cualquier situación que atente
contra la inseguridad de la información manejada dentro de la empresa, que solo personal
autorizado conozca la clave de acceso para evitar el hurto y modificación de la información
almacenada de la Base de Datos del Sistema SIGA.
Se recomienda:

 El administrador será el responsable de agregar y modificar la información.


 Actualizar la base de datos.
 Ser cuidadoso al ingresar la clave de acceso para evitar que ingrese personal no
autorizado.
 Proporcionar mantenimiento al sistema en caso de que se desee nuevos módulos de
acuerdo a las necesidades que van generando posteriormente.

81
Bibliografía

1. Barajas, Nadia y Estornell, Douglas. DISEÑO DE APLICACIONES MICROSOFT


ASP.NET

2. Pressman, Reyers, “Ingeniería de Software, un enfoque práctico”, 5ta ed,


McGraw-Hill

Citas electrónicas

(http://www.agilemanifiesto.org, s.f.)
(http://www.crystalmethodologies.com, s.f.)
(http://www.lamasagil.110mb.com, s.f.)
(Microsoft, s.f.)
(http://csharpmaniax.blogspot.mx/, s.f.)
(Microsoft, http://social.msdn.microsoft.com/Forums/es-ES/1a797f41-7e6e-4c56-a6cb-
0a7ca10b3836/seleccionar-fila-con-button-field-y-pasar-campo-elegido-a-textbox-en-
aspnet-c-sharp?forum=netfxwebes, s.f.)
(Microsoft, http://geeks.ms/blogs/lruiz/archive/2011/02/23/asp-net-a-241-adir-un-campo-
de-tipo-hyperlink-a-un-gridview.aspx, s.f.)
(Microsoft, http://social.msdn.microsoft.com/Forums/es-ES/620c3ea9-6ea6-4717-be0e-
e86d5713993d/pop-up-aspnet?forum=netfxwebes, s.f.)
(http://www.adobe.com/, s.f.)
(http://stackoverflow.com/, s.f.)

82
Anexos

A. Estándares

Los estándares son una buena práctica de programación que no sólo se debe utilizar cuando
se trabaja con la metodología XP sino con cualquier clase de metodología que se aplique.

Lo que se buscó con los siguientes estándares fue facilitar la compresión del código y así
lograr la propiedad colectiva de este.

 Estándares en la base de datos.


 Los nombres de tablas se escriben en mayúscula la primera letra y lo demás en
minúscula.
 Los nombres de los campos de cada tabla se escriben en minúscula, iniciando con el
nombre del campo, seguidos por guion bajo y el nombre de la tabla a la cual

Ejemplo: TABLA: Inicio


Campos: id_usuario
usuario
pass
rol

 Estándares en el código
 Nombres de variables: los elementos visuales comienzan con las iniciales del tipo de
objeto.

Ejemplo:
Label: lbFirmas
TextBox: txtFirma
Button: btnAceptar

 El código debe estar editado correctamente.

83
B. PRUEBAS

 Base de datos

Al terminar el diseño y la implementación de la base de datos, se insertaron datos


directamente en ésta y se realizaron consultas por medio del asistente de consultas que
proporciona SQL Server 2008 para verificar que el modelo entidad relación estaba bien
diseñado.

 Módulos
Al terminar cada módulo el equipo de desarrollo realizó las pruebas correspondientes
para verificar que cada módulo cumpliera con sus tareas de forma correcta, fue así
como por ejemplo en el módulo de ver documentos se verificó que los datos
ingresados quedaran correctamente guardados en la base de datos.

Las pruebas de aceptación se hicieron cada vez que se sacó una nueva versión,
consistía en entregar al cliente y/o terceras personas dicha versión para que estos
ingresaran, datos realizaran consultas y/o ediciones según fuera el caso para ver si la
aplicación respondía bien.

Por tratarse de una aplicación web una de las pruebas más importantes fue la navegación, y
los tiempos de respuesta, estas pruebas se hicieron en tres de los navegadores más conocidos
e importantes como lo son Internet Explorer 11.0, Mozilla FireFox 27.0.1 y Google Chrome
33.0.1750.154. Y dieron como resultado un funcionamiento óptimo en los tres navegadores
con una resolución 1024 x 768 pixeles.

84
C. CORRIDAS DE PROGRAMAS

Para poder ejecutar la página se necesita que el servidor IIS se esté ejecutando, es por
eso que se diseñaron unas líneas de código que se introducen en el programa de
símbolo de sistema, con esto logramos que nuestro equipo simule un servidor local y
podamos visualizar el proyecto sin problema alguno.

85
D. CODIGO DEL SISTEMA SIGA

A continuación se muestra el Código de la Página Principal del Sistema de SIGA.

<%@ Page Title="" Language="C#"


MasterPageFile="~/Formularios/Area1/PaginaaMasterInformatica.master"
AutoEventWireup="true" CodeBehind="Inicio.aspx.cs"
Inherits="ProyectoSIGA.Formularios.Area1.formato1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="contenidoPrincipal" runat="server">

<h2>Inicio:&nbsp;&nbsp;&nbsp;</h2>

<h3>

A todo el personal:

</h3>

Como es de su conocimiento, el “Plan Nacional de Desarrollo 2013–2018” establece tres


estrategias transversales, Democratizar la Productividad, Promover un Gobierno Cercano y
Moderno, e Incorporar la Perspectiva de Género en la acciones de Gobierno”. Sobre el
particular, el Presidente Enrique Peña Nieto ha expresado su firme convicción de ser un
gobierno eficiente, eficaz y al servicio de la sociedad, instruyendo claramente que la relación
entre gobierno y ciudadanos tiene que ser ágil, sencilla y oportuna. <br /><br />

Para cumplir con esta alta encomienda presidencial y verdaderamente transformar a


México, necesitamos fortalecer diariamente nuestras capacidades como servidores/as y
públicos, haciendo uso de conocimientos, metodologías y herramientas que nos permitan
mejorar nuestro desempeño y dar resultados. Igualmente se hace necesario desarrollar
acciones que ayuden a sumar los valores y las normas de convivencia presentes en las
instituciones públicas, a fin de crear el ambiente idóneo para fortalecer el compromiso
ineludible de brindar atención, calidez y calidad al ciudadano.<br /><br />

Sin duda alguna, una de las acciones inmediatas que debemos desarrollar es el fomento y
la consolidación de una “Cultura organizacional” que gire alrededor de los ciudadanos; en
atención a esto, los invito a conocer el “Modelo de Cultura Organizacional de Gobierno
centrado en el Ciudadano”.<br /><br />

Este Modelo se diseñó pensando en TODAS/OS las/los servidoras/es públicos de la


Administración Pública Federal, sin distinguir entre aquellos que tienen contacto directo con
la ciudadanía y aquellos que no; ya que el quehacer institucional impacta en su conjunto a la
sociedad y repercute de manera positiva o negativa en la satisfacción ciudadana.<br /><br />

86
Te invitamos a conocer pero, sobre todo, a adoptar entusiastamente y a fortalecer día a día
este Modelo, a fin de alcanzar y consolidar un “Gobierno Cercano y Moderno”.<br /><br />

El “Modelo de Cultura Organizacional de Gobierno centrado en el Ciudadano”, puede ser


consultado a través del banner que se ha colocado en nuestra Intranet o en la siguiente
dirección electrónica:<br />

<a href="http://www.funcionpublica.gob.mx/index.php/temas/programas/programa-de-
mejora-de-la-gestion/modelos-y-metodologias-para-un-buen-gobierno.html">

http://www.funcionpublica.gob.mx/index.php/temas/programas/programa-de-mejora-
de-la-gestion/modelos-y-metodologias-para-un-buen-gobierno.html

</a>

<asp:Label ID="Label1" runat="server" Text="Label" Visible="false"></asp:Label>

</asp:Content>

87

También podría gustarte