Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE INGENIERÍA”
A mis Padres:
i
RESUMEN
INTRODUCCIÓN
ii
La elaboración de este informe de Prácticas Pre-profesionales, tiene el propósito de
demostrar y dar a conocer como también poner en práctica todos los conocimientos
adquiridos por el estudiante durante sus años previos de formación profesional. Y
de esta manera, el estudiante universitario se expone a ser evaluado por la
Institución, en su desenvolvimiento profesional.
Existen hoy en día instituciones que utilizan el campo virtual para el desarrollo de
sus actividades cotidianas tanto de enseñanza como en el plano administrativo. En
los países Latinoamericanos, es una preocupación ya que el surgimiento de las
nuevas tecnologías hace que puedan quedar desfasadas en este nuevo mundo tan
acelerado.
iii
ÍNDICE DE CONTENIDO
DEDICATORIA:........................................................................................................ I
RESUMEN............................................................................................................... II
INTRODUCCIÓN ..................................................................................................... II
CAPÍTULO I ............................................................................................................ 2
1 GENERALIDADES DE LA INSTITUCIÓN: .................................................. 2
1.1. NOMBRE O RAZÓN SOCIAL: .............................................................. 2
1.2. UBICACIÓN DE LA INSTITUCIÓN: ...................................................... 2
1.3. ACTIVIDADES DE LA INSTITUCIÓN: .................................................. 2
1.4. RESEÑA HISTÓRICA: .......................................................................... 3
1.5. FINALIDAD: .......................................................................................... 5
1.6. VISIÓN: ................................................................................................. 5
1.7. MISIÓN: ................................................................................................ 5
1.8. ORGANIGRAMA ................................................................................... 6
1.9. LUGAR DE EJECUCIÓN DE LAS PRÁCTICAS PRE –
PROFESIONALES: ......................................................................................... 6
1.9.1. NOMBRE DEL ÁREA: .................................................................... 6
1.9.2. DESCRIPCIÓN DEL ÁREA DE TRABAJO: ................................... 6
1.9.3. OBJETIVOS OFICINA OSAERC PRE-GRADO: ............................ 7
1.10. ESTRUCTURA TEMÁTICA: .................................................................. 8
1.10.1. RESUMEN: .................................................................................... 8
1.10.2. DESCRIPCIÓN DEL PROBLEMA: ................................................. 8
1.11. OBJETIVOS DE LAS PRÁCTICAS PRE- PROFESIONALES: .............. 9
1.11.1. JUSTIFICACIÓN: ........................................................................... 9
1.11.2. OBJETIVO GENERAL: .................................................................. 9
1.11.3. OBJETIVOS ESPECÍFICOS: ........................................................10
CAPÍTULO II ......................................................................................................... 12
2 FUNDAMENTO TEÓRICO: ........................................................................12
2.1. PHP: ....................................................................................................12
2.2. SISTEMA: ............................................................................................13
2.3. MySQL: ................................................................................................14
2.4. DBDesigner (Diseñador de una Base de Datos): .................................15
2.5. RATIONAL ROSE: ...............................................................................16
2.6. UML: ....................................................................................................17
Diagrama de casos de uso: .......................................................18
Caso de uso: ...........................................................................18
Actor: ......................................................................................19
Descripción de casos de uso: .................................................20
Diagrama de Clases: .................................................................20
Clase: .....................................................................................20
Diagramas de Colaboración: .....................................................21
Diagrama de Estado: .................................................................21
Diagrama de Actividad:..............................................................22
Diagramas de Componentes: ....................................................23
Diagramas de Implementación: .................................................23
2.7. SGBD:..................................................................................................24
2.8. MODELO OOHDM o Método de Diseño de Hipermedia Orientado ......24
2.8.1. MODELO CONCEPTUAL: ............................................................27
2.8.2. DISEÑO NAVEGACIONAL:10 ........................................................27
2.8.3. DISEÑO DE INTERFAZ ABSTRACTA:11 ......................................29
2.8.4. IMPLEMENTACIÓN: .....................................................................29
2.9. ANÁLISIS ORIENTADA A OBJETOS: .................................................30
CAPÍTULO III ........................................................................................................ 32
3 MATERIAL Y MÉTODO UTILIZADO EN LAS PRÁCTICAS
PREPROFESIONALES: ....................................................................................32
3.1. MATERIALES: .....................................................................................32
3.1.1. RECURSOS HUMANOS:..............................................................32
3.1.2. RECURSOS DE HARDWARE ......................................................32
3.1.3. RECURSOS DE SOFTWARE: ......................................................33
3.2. METODOLOGÍA: .................................................................................33
3.3. ANÁLISIS DEL SISTEMA: ...................................................................34
3.3.1. IDENTIFICACIÓN DEL PROYECTO: ...........................................34
3.3.2. DESARROLLO DEL SISTEMA SISCOD:......................................34
3.3.2.1. DIAGRAMA GENERAL DEL SISTEMA .....................................34
3.3.2.2. DIAGRAMA DE CASO DE USO: ...............................................35
3.3.2.2.1. DESCRIPCIÓN DE ACTORES:............................................38
3.3.2.2.2. DESCRIPCIÓN DEL SISTEMA: ...........................................40
3.3.2.2.3. ESPECIFICACIÓN DE CASOS DE USO DE NEGOCIO: .....41
3.3.2.3. DIAGRAMA DE ITERACIÓN: ....................................................61
A. CASO DE USO: BUSCAR USUARIO: .....................................................61
B. CASO DE USO: REGISTRAR USUARIO: ...............................................61
C. CASO DE USO: MODIFICAR USUARIO: ................................................62
D. CASO DE USO: ELIMINAR USUARIO: ...................................................64
E. CASO DE USO: BUSCAR DOCUMENTO: ..............................................65
F. CASO DE USO: MODIFICAR DOCUMENTO: .........................................66
G. CASO DE USO: ELIMINAR DOCUMENTO: ............................................67
H. CASO DE USO: BUSCAR DOCUMENTO ...............................................68
I. CASO DE USO: BUSCAR USUARIO: .....................................................69
J. CASO DE USO: REGISTRAR USUARIO: ...............................................70
K. CASO DE USO: MODIFICAR USUARIO: ................................................71
L. CASO DE USO: ELIMINAR USUARIO: ...................................................72
M. CASO DE USO: REGISTRAR DOCUMENTO: ....................................73
N. CASO DE USO: MODIFICAR DOCUMENTO: .........................................74
O. CASO DE USO: ELIMINAR DOCUMENTO: ............................................75
P. CASO DE USO: BUSCAR DOCUMENTO: ..............................................76
3.4. MODELO CONCEPTUAL: ...................................................................77
3.4.1. DIAGRAMA DE CLASES: .............................................................77
3.5. DISEÑO NAVEGACIONAL: .................................................................78
3.5.1. DIAGRAMA DE COMPONENTES: ...............................................78
A. ESTRUCTURA DEL SISTEMA: ...............................................................78
3.5.1.1. MENÚ DEL ADMINISTRADOR: ................................................79
3.5.1.2. MENÚ DEL USUARIO: ..............................................................80
3.5.2. DIAGRAMA DE DESPLIEGUE: ....................................................81
A. DISTRIBUCIÓN FÍSICA DEL SISTEMA: .................................................81
3.6. DISEÑO DE LA INTERFAZ ABSTRACTA:...........................................82
3.6.1. MODELO DE LA BASE DE DATOS: .............................................86
3.7. IMPLEMENTACIÓN: ............................................................................87
3.7.1. MIGRACIÓN DEL MODELO DE LA BASE DE DATOS EN
DBDESIGNER A MYSQL: ...........................................................................87
A. PROCESO DE EXPORTACION DEL DBDESIGNER: .............................87
B. PROCESO DE IMPORTACIÓN AL MYSQL: ...........................................90
3.7.2. CODIGO DE CONEXIÓN A LA BASE DE DATOS CON PHP: .....95
CAPÍTULO IV ........................................................................................................ 97
4 RESULTADOS DE LA PRÁCTICA REALIZADA: ......................................97
4.1. ADMINISTRADOR: ..............................................................................98
4.1.1. DOCUMENTO EMITIDO: ............................................................100
4.1.2. DOCUMENTO RECIBIDO: .........................................................105
4.1.3. ÁREA: .........................................................................................110
4.1.4. ESCUELA: ..................................................................................111
4.1.5. FACULTAD: ................................................................................112
4.1.6. PERSONA: .................................................................................113
4.1.7. AÑO: ...........................................................................................114
4.1.8. SEDE: .........................................................................................115
4.1.9. GRADO:......................................................................................116
4.1.10. USUARIO: ..................................................................................117
4.1.11. TIPO USUARIO: .........................................................................118
4.1.12. TIPO DOCUMENTO: ..................................................................119
4.1.13. TIPO REFERENCIA:...................................................................120
4.1.14. ESTADO DEL DOCUMENTO: ....................................................121
4.1.15. ORIGEN:.....................................................................................122
4.1.16. USUARIO: ..................................................................................123
............................................................................................................................ 124
CAPÍTULO V ....................................................................................................... 125
5 CONCLUSIONES Y SUGERENCIAS: ......................................................125
5.1. CONCLUSIONES: .............................................................................125
5.2. RECOMENDACIONES: .....................................................................126
............................................................................................................................ 127
CAPÍTULO VI ...................................................................................................... 128
6 BIBLIOGRAFIA: .......................................................................................128
............................................................................................................................ 131
CAPÍTULO VII ..................................................................................................... 132
7 ANEXOS:..................................................................................................132
7.1. CÓDIGO FUENTE: ............................................................................132
GLOSARIO ......................................................................................................... 161
ÍNDICE DE FIGURAS
CAPÍTULO I ............................................................................................................ 2
1 GENERALIDADES DE LA INSTITUCIÓN: ................................................... 2
Figura 1.1. Organigrama de la Universidad José Carlos Mariátegui ................. 6
CAPÍTULO II ......................................................................................................... 12
2 FUNDAMENTO TEÓRICO: ........................................................................ 12
Figura 2.1 Ejemplo de código PHP. ............................................................... 13
Figura 2.2 Diseño de una Base de Datos en DBDesigner. ............................. 16
Figura 2.3 Interfaz de Rational Rose. ............................................................. 17
Figura 2.4 Ejemplo UML Diagrama de Clases. .............................................. 24
CAPÍTULO III ........................................................................................................ 32
3 MATERIAL Y MÉTODO UTILIZADO EN LAS PRÁCTICAS
PREPROFESIONALES: .................................................................................... 32
Figura 3.1 Diagrama General del Sistema ..................................................... 34
Figura 3.3 Gestión de Documento Recibido y Emitido. .................................. 35
Figura 3.4 Búsqueda de Documento Recibido ............................................... 36
Figura 3.5 Búsqueda de Documento Emitido ................................................. 36
Figura 3.6 Gestión de Usuario. ...................................................................... 37
Figura 3.7 Validar usuario .............................................................................. 37
Figura 3.8 Diagrama de secuencia para el caso de uso Buscar usuario ........ 61
Figura 3.9 Diagrama de secuencia para el caso de uso Registrar usuario ..... 62
Figura 3.10 Diagrama de secuencia para el caso de uso Modificar usuario ... 63
Figura 3.11 Diagrama de secuencia para el caso de uso Eliminar usuario..... 64
Figura 3.12 Diagrama de secuencia para el caso de uso Registrar
Documento ..................................................................................................... 65
Figura 3.13 Diagrama de secuencia para el caso de uso Modificar
documento ...................................................................................................... 66
Figura 3.14 Diagrama de secuencia para el caso de uso Eliminar
documento ...................................................................................................... 67
Figura 3.15 Diagrama de secuencia para el caso de uso Buscar documento 68
Figura 3.16 Diagrama de colaboración para el caso de uso Buscar usuario .. 69
Figura 3.17 Diagrama de colaboración para el caso de uso Registrar
usuario............................................................................................................ 70
Figura 3.18 Diagrama de colaboración para el caso de uso Modificar
usuario............................................................................................................ 71
Figura 3.19 Diagrama de colaboración para el caso de uso Eliminar usuario 72
Figura 3.20 Diagrama de colaboración para el caso de uso Registrar
documento ...................................................................................................... 73
Figura 3.21 Diagrama de colaboración para el caso de uso Modificar
documento ...................................................................................................... 74
Figura 3.22 Diagrama de colaboración para el caso de uso Eliminar
documento ...................................................................................................... 75
Figura 3.23 Diagrama de colaboración para el caso de uso Buscar
Documento ..................................................................................................... 76
Figura 3.24 Diagrama de clases .................................................................... 77
Figura 3.25 Diagrama de componentes estructura del sistema ...................... 78
Figura 3.26 Diagrama de componentes menú del administrador ................... 79
Figura 3.27 Diagrama de componentes menú del usuario ............................. 80
Figura 3.28 Diagrama de despliegue distribución física del sistema .............. 81
Figura 3.29 Interfaz de Documento Emitido ................................................... 82
Figura 3.30 Interfaz de Documento Emitido ................................................... 83
Figura 3.31 Interfaz de Consulta Documento Emitido. ................................... 84
Figura 3.32 Interfaz de Consulta Documento Remite. .................................... 85
Figura 3.33 Modelo de la Base de Datos ....................................................... 86
Figura 3.34 Selección de la opción de exportación en el menú ...................... 87
Figura 3.35 Selección de las opciones para la exportación ............................ 88
Figura 3.36 Guardando el archivo con la consulta para la creación ............... 89
Figura 3.37 Ventana phpMyAdmin de creación de Base de Datos ................. 90
Figura 3.50: Búsqueda del Archivo exportado en phpMyAdmin. .................... 91
Figura 3.51: Ventana phpMyAdmin con el archivo encontrado. ..................... 92
Figura 3.38 Ventana phpMyAdmin con mensaje de ejecución con éxito. ....... 93
Figura 3.52: Ventana MyAdmin con la Base de Datos ya importado. ............. 94
Figura 3.39 Código de la clase para la conexión con la base de datos .......... 95
CAPÍTULO IV ........................................................................................................ 97
4 RESULTADOS DE LA PRÁCTICA REALIZADA: ...................................... 97
Figura 4.1 Página Principal ............................................................................ 97
Figura 4.2 Menú del Sistema. ........................................................................ 98
Figura 4.3 Inicio del Sistema. ......................................................................... 98
Figura 4.4 Menú del Administrador. ............................................................... 99
Figura 4.5 Ventana de mantenimiento de Documento Emitido. .................... 100
Figura 4.6 Formulario de Búsqueda de Documento Emitido. ....................... 101
Figura 4.7 Exportando los Datos de la búsqueda a Microsoft Excel. ............ 102
Figura 4.8 Datos Exportados a Excel. .......................................................... 103
Figura 4.9 Detalle de la Consulta de documento emitido. ............................ 104
Figura 4.10 Ventana de mantenimiento de Documento Recibido. ................ 105
Figura 4.11 Formulario de Búsqueda de Documento Recibido. ................... 106
Figura 4.12 Exportando los Datos de la búsqueda a Microsoft Excel. .......... 107
Figura 4.13 Datos Exportados a Excel. ........................................................ 108
Figura 4.14 Detalle de la Consulta de documento recibido. ......................... 109
Figura 4.15 Ventana de la opción Área. ....................................................... 110
Figura 4.16 Ventana de la opción Escuela ................................................... 111
Figura 4.17 Ventana de la opción Facultad. ................................................. 112
Figura 4.18 Ventana de la opción Facultad. ................................................. 113
Figura 4.19 Ventana de la opción Año. ........................................................ 114
Figura 4.20 Ventana de la opción Año. ........................................................ 115
Figura 4.21 Ventana de la opción Año. ........................................................ 116
Figura 4.22 Ventana de la opción Usuario. .................................................. 117
Figura 4.23 Ventana de la opción Tipo Usuario. .......................................... 118
Figura 4.24 Ventana de la opción Tipo Documento...................................... 119
Figura 4.25 Ventana de la opción Tipo Referencia....................................... 120
Figura 4.26 Ventana de la opción Estado del Documento. ........................... 121
Figura 4.27 Ventana de la opción Origen del Documento. ........................... 122
Figura 4.28 Inicio del Usuario al Sistema. .................................................... 123
Figura 4.29 Menú del Usuario. ..................................................................... 123
ÍNDICE DE CUADROS
CAPÍTULO III ........................................................................................................ 32
3 MATERIAL Y MÉTODO UTILIZADO EN LAS PRÁCTICAS
PREPROFESIONALES: .................................................................................... 32
Tabla 3.1 Recursos Humanos ........................................................................ 32
Tabla 3.2 Especificación de casos de uso Buscar Año. .................................. 42
Tabla 3.3 Especificación de caso de uso Registrar Año. ................................ 43
Tabla 3.4 Especificación de caso de uso Modificar Año. ................................ 46
Tabla 3.5 Especificación de caso de uso Eliminar Año. .................................. 48
Tabla 3.6 Especificación de casos de uso Buscar Usuario. ............................ 49
Tabla 3.7 Especificación de caso de uso Registrar Usuario. .......................... 50
Tabla 3.8 Especificación de caso de uso Modificar Usuario. .......................... 53
Tabla 3.9 Especificación de caso de uso Eliminar Usuario. ............................ 54
Tabla 3.10 Especificación de caso de uso Registrar Documento. .................. 56
Tabla 3.11 Especificación de caso de uso Modificar Documento. .................. 58
Tabla 3.12 Especificación de caso de uso Eliminar Documento. .................... 59
Tabla 3.13 Especificación de caso de uso Buscar Documento. ...................... 61
CAPÍTULO I
GENERALIDADES DE LA
INSTITUCIÓN
CAPÍTULO I
1 GENERALIDADES DE LA INSTITUCIÓN:
Departamento : Moquegua
Provincia : Mariscal Nieto
Distrito : Moquegua
Jirón : Ayacucho Nº 393
Teléfono : (053) - 46 – 1110
La Universidad se dedica a:
La Investigación Científica.
Estudio constante.
Educación superior integral.
Formación académico profesional.
Difusión de cultura.
Con mira a convertirse en una de las mejores Universidades tanto a nivel
Regional como Nacional, trabaja arduamente en la Implementación de
Infraestructuras tanto en Moquegua como en Ilo, a la vez está
implementando sus laboratorios con tecnología de punta para así poder
formar verdaderos profesionales, capaces de desenvolverse en cualquier
ámbito laboral. Ofrece Diplomados, Segundas Especialidades. Pro
Títulos, Centro Pre Universitario, Centro de Computo y Sistemas y de
Idiomas Escuela de Post Grado con Maestrías y Doctorados, campos
deportivos, y en cuanto a carreras a Distancia, contando de esta manera
con alumnado de distintas partes del Perú.
2
1.4. RESEÑA HISTÓRICA:
3
año, fueron elegidos el Rector y Vicerrector en un ambiente democrático
y en estricto cumplimiento de la ley universitaria y del mencionado
estatuto, actos que garantizan la autonomía y credibilidad de la
Universidad Privada de Moquegua "José Carlos Mariátegui".
Ingeniería Comercial.
Ingeniería Agronómica.
Ingeniería Civil.
Ingeniería Mecánica Eléctrica.
Ingeniería de Sistemas e Informática.
Ingeniería Pesquera.
Ingeniería Ambiental.
Obstetricia.
Contabilidad.
Odontología.
Derecho.
Educación.
Enfermería.
4
1.5. FINALIDAD:
1.6. VISIÓN:
1.7. MISIÓN:
5
1.8. ORGANIGRAMA
6
de los alumnos de las modalidades de Presencial, Semi-
presencial, Programa Especial, Distancia y Complementación
Académica de la Universidad José Carlos Mariátegui.
7
Modalidad Presencial, Semi-presencial, Distancia, Programa
Especial y Complementación Académica.
Verificar la correcta convalidación de cursos de los alumnos
ingresantes extraordinarios e ingresar los cuadros de
Convalidación al Sistema Académico utilizado en OSAERC de
los alumnos de Pre Grado.
Verificar e ingresar la correcta Adecuación al Nuevo Plan de
Estudios de los alumnos que retoman sus estudios y/o
alumnos que se acogen al Nuevo Plan de Estudios.
1.10.1. RESUMEN:
8
personal no tiene acceso a ningún tipo de información. Lo cual
general problemas recurrentes en el área tales como:
1.11.1. JUSTIFICACIÓN:
9
Desarrollar un Sistema Web de Control Documentario para
mejorar la gestión administrativa de la Oficina de Servicios
Académicos, Evaluación y Registro Central de la Universidad
José Carlos Mariátegui.
10
CAPÍTULO II
FUNDAMENTO TEÓRICO
11
CAPÍTULO II
2 FUNDAMENTO TEÓRICO:
2.1. PHP:
_______________________________________________________________________________
12
Figura 2.1 Ejemplo de código PHP.
Fuente: www.flanagan.ugr.es/php/index2.htm.
2.2. SISTEMA:
13
una computadora) o conceptual. Si hay algún intercambio entre el
sistema y el ambiente a través de ese límite, el sistema es abierto, de lo
contrario, el sistema es cerrado.3
2.3. MySQL:
Uso de MySQL:
______________________________
3 Definición de Sistema – disponible en: http://www.alegsa.com.ar/Dic/sistema.php.
14
Características de MySQL:
15
Todas las características específicas de MySQL han sido construidas
para ofrecer el modo más conveniente de diseñar y mantener el control
de sus bases de da datos de MySQL.
16
Figura 2.3 Interfaz de Rational Rose.
Fuente: www.monografias.com/trabajos5/insof/insof.shtml
2.6. UML:
17
Las diferencias son muy marcadas y afectan a todas las fases del
proceso. El método del UML recomienda utilizar los procesos que otras
metodologías tienen definidos.
Elementos de UML:
Caso de uso:
18
Cuando se trabaja con casos de uso, es importante tener
presentes algunas sencillas reglas:
Los casos de uso pueden tener relaciones con otros casos de uso.
Los tres tipos de relaciones más comunes entre casos de uso son:
Actor:
19
Los actores no representan a personas físicas o a sistemas,
sino su rol. Esto significa que cuando una persona interactúa
con el sistema de diferentes maneras (asumiendo diferentes
papeles), estará representado por varios actores. Por ejemplo,
una persona que proporciona servicios de atención telefónica
a clientes y realiza pedidos para los clientes estaría
representada por un actor «equipo de soporte» y por otro actor
«representante de ventas».
Diagrama de Clases:
Clase:
20
Una clase define los atributos y los métodos de una serie de
objetos. Todos los objetos de esta clase (instancias de esa
clase) tienen el mismo comportamiento y el mismo conjunto de
atributos (cada objetos tiene el suyo propio). En ocasiones se
utiliza el término «tipo» en lugar de clase, pero recuerde que
no son lo mismo, y que el término tipo tiene un significado más
general.
Diagramas de Colaboración:
Diagrama de Estado:
Los diagramas de estado muestran los diferentes estados de
un objeto durante su vida, y los estímulos que provocan los
cambios de estado en un objeto.
Los diagramas de estado ven a los objetos como máquinas de
estado o autómatas finitos que pueden estar en un conjunto
21
de estados finitos y que pueden cambiar su estado a través de
un estímulo perteneciente a un conjunto finito. Por ejemplo, un
objeto de tipo NetServer puede tener durante su vida uno de
los siguientes estados:
Listo.
Escuchando.
Trabajando.
Detenido.
Se crea el objeto.
El objeto recibe un mensaje de escucha.
Un cliente solicita una conexión a través de la red.
Un cliente finaliza una solicitud.
La solicitud se ejecuta y ser termina.
El objeto recibe un mensaje de detención, etc.
Diagrama de Actividad:
22
paralelas, no importa en qué orden sean invocadas (pueden ser
ejecutadas simultáneamente o una detrás de otra).6
Diagramas de Componentes:
Diagramas de Implementación:
_____________________________________
6
Introducción a UML – disponible en: http://docs.kde.org/stable/es/kdesdk/umbrello/uml-elements.html.
23
Figura 2.4 Ejemplo UML Diagrama de Clases.
Fuente: www.fabforce.net/dbdesigner4/images/ss/dbd4_ss_simplemodel.png
2.7. SGBD:
___________________________________
7
Carmen B. Navarrete – Centro de Referencia Linux UAM – IBM, Publicación “Introducción a las Bases de Datos”.2003, pág 35.
24
a. Objetos:
Al igual que RMM, este método se inspira en el modelo HDM, pero lo que
le distingue claramente del primero es el proceso de concepción
orientado a objetos. OOHDM propone el desarrollo de aplicaciones
hipermedia mediante un proceso de 4 etapas:
- Diseño Conceptual.
- Diseño Navegacional.
- Diseño de Interfaces Abstractas.
- Implementación.
25
inducidas del esquema conceptual. Los enlaces derivan de las relaciones
y los nodos representan ventanas lógicas (views) sobre las clases
conceptuales. A continuación, el diseñador describe la estructura
navegacional en términos de contextos navegacionales. Un contexto
navegacional es un conjunto de nodos, enlaces, clases de contextos y
otros contextos navegacionales (contextos anidados) - igual que en HDM
definen agrupaciones- que pueden ser definidos por comprensión o
extensión, o por enumeración de sus miembros.
26
navegacionales. También se incluye aquí el modo en que dichos objetos
de interfaz activarán la navegación y el resto de funcionalidades de la
aplicación, esto es, se describirán los objetos de interfaz y se los asociará
con objetos de navegación. La separación entre el diseño navegacional
y el diseño de interfaz abstracta permitirá construir diferentes interfaces
para el mismo modelo navegacional.
Aunque los ejemplos que ilustran el método sean siempre del mismo tipo,
OOHDM es un método abierto porque, por una parte, el modelo del
dominio no viene impuesto y por otra parte, el soporte en objetos del
método permite la especialización de las clases navegacionales y de los
contextos navegacionales. El objetivo de OOHDM es cubrir la concepción
de todo tipo de aplicaciones hipermedia.8
27
La primera generación de aplicaciones de multimedia intentaba
realizar la navegación a través de un espacio de información
usando un solo modelo de datos de hipermedia. A pesar de estos
problemas que son bien conocidos en la comunidad de la
hipermedia, ellos raramente han sido tomados en cuenta por los
diseñadores de Multimedia y Web Sites.
_______________________________________
10
Carvalho, G Rossi, disponible en: http://www.di.inf.puc-rio.br/schwabe/HT96WWW/section3.html
28
2.8.3. DISEÑO DE INTERFAZ ABSTRACTA:11
2.8.4. IMPLEMENTACIÓN:
_____________________________
11
Coleman Introducción Orientado a Objetos, disponible en http://www.di.inf.puc-rio.br/schwabe/HT96WWW/section3.html
29
Cuando la fase de implementación se alcanza, el diseñador ya
tiene definido los artículos de información que son parte del
dominio del problema.
_______________________
12
Ingenieria de software, un enfoque practico, Roger S. Pressman, 5aEdición, pág 133
30
CAPÍTULO III
MATERIAL Y MÉTODO
UTILIZADO EN LAS
PRÁCTICAS
PREPROFESIONALES
31
CAPÍTULO III
3.1. MATERIALES:
32
3.1.3. RECURSOS DE SOFTWARE:
Microsoft Windows 7.
Microsoft Office 2007 (Microsoft Excel y Microsoft Word).
DBDesigner, para el modelamiento Web.
Rational Rose Enterprise Edition v.2003.
XAMPP para Windows.
Apache Web Server Version 2.2.4.
PHP Script Language Version 5.2.3.
MySQL Database Version 5.0.45.
Notepad++ v5.6.6 para la programación, tanto para el código
HTML como código PHP.
Navicat 8 for MySQL.
3.2. METODOLOGÍA:
33
3.3. ANÁLISIS DEL SISTEMA:
a) TÍTULO:
“Desarrollar un Sistema Web de Control Documentario para
mejorar la gestión administrativa de la Oficina de Servicios
Académicos, Evaluación y Registro Central de la Universidad
José Carlos Mariátegui.
b) DESCRIPCIÓN:
c) AUTOR:
Bach. Beyker Albert Gutierrez Quispe.
34
3.3.2.2. DIAGRAMA DE CASO DE USO:
GESTIÓN DE AÑO:
35
BÚSQUEDA DE DOCUMENTO RECIBIDO:
36
GESTIÓN DE USUARIO:
VALIDAR USUARIO:
37
3.3.2.2.1. DESCRIPCIÓN DE ACTORES:
Definición : Es la persona
que labora en la
empresa y brinda
la atención al
cliente (alumno).
Definición : Es la persona
que utiliza el
sistema pero con
acceso limitado.
Definición : Es la persona
que realiza
38
búsquedas en el
sistema.
Definición : Es la persona
que se encarga de
administrar, y el
único con acceso
completo al
Sistema.
39
alumnos, el
periodo (año y
fase), los
diferentes tipos de
documentos
aceptados por el
sistema,
asociaciones,
especialidades,
sedes,
resoluciones y
otras opciones
exclusivas como
el registro de
nuevos usuarios.
Nombre :SISCOD
(Sistema de
Control
Documentario).
40
como el resto de
información
necesaria para
este.
41
Postcondición: El Sistema muestra una lista con los resultados de
la búsqueda.
excepciones Paso Acción
6’ El sistema no mostrara nada si
la base de datos no devuelve
resultados.
Rendimiento Paso Cota de tiempo
1...8 El promedio de la consulta dura 35
segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
42
6 El Empleado selecciona la opción
guardar.
7 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de guardado.
8 El Sistema Genera la consulta
necesaria para guardar.
9 El Sistema entrega la consulta
generada a la Base de Datos.
10 La Base de Datos se encarga de
procesar la consulta.
11 La Base de Datos entrega los
resultados de la consulta al sistema.
12 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema registra el Año ingresado y muestra el
mensaje de guardado con éxito.
excepciones Paso Acción
4’ y 5’ El sistema muestra un mensaje
de error en la validación si los
datos ingresados no cumplen
las respectivas condiciones.
Rendimiento Paso Cota de tiempo
1...12 El promedio del registro dura 35
segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
43
CU_03: Modificar Asociación.
Versión: 1.0
Autor: Gutierrez Quispe Beyker Albert.
Descripción: Aquí se encuadra el servicio para modificar un Año.
Precondición: El Año ya debe estar registrado.
Secuencia Paso Acción
Normal 1 El Empleado selecciona
Administración Año en el menú.
2 El Sistema muestra el formulario de
Año y las opciones de búsqueda.
3 El Empleado selecciona la opción de
búsqueda e ingresa el criterio para la
búsqueda.
4 El Sistema se encarga de generar la
consulta para buscar.
5 El Sistema entrega la consulta
generada a la Base de Datos.
6 La Base de Datos procesa la consulta.
7 La Base de Datos entrega los
resultados de la consulta al Sistema.
8 El Empleado selecciona una Año de la
lista de resultados.
9 El Empleado selecciona una Año de la
lista de resultados.
10 El Sistema pasa los datos al
formulario.
11 El Sistema muestra los datos en el
formulario.
12 El Empleado modifica los datos en el
formulario.
44
13 El Sistema valida los datos al ser
ingresados.
14 El Sistema muestra los mensajes de
validación.
15 El Empleado selecciona la opción
modificar.
16 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de modificación.
17 El Sistema Genera la consulta para
modificar.
18 El Sistema entrega la consulta
generada a la Base de Datos.
19 La Base de Datos procesa la consulta.
20 La Base de Datos entrega los
resultados de la consulta al Sistema.
21 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema modifica el Año y muestra un mensaje
de modificado con éxito.
excepciones Paso Acción
13’ y 16' El sistema muestra un mensaje
de error en la validación si los
datos ingresados no cumplen
las respectivas condiciones..
Rendimiento Paso Cota de tiempo
1...21 El promedio de la modificación dura 1
minuto.
Frecuencia Indefinida.
Comentarios Ninguno.
45
Tabla 3.4 Especificación de caso de uso Modificar Año.
Fuente: Propia
46
12 El Empleado modifica los datos en el
formulario.
13 El Sistema valida los datos al ser
ingresados.
14 El Sistema muestra los mensajes de
validación.
15 El Empleado selecciona la opción
modificar.
16 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de modificación.
17 El Sistema Genera la consulta para
modificar.
18 El Sistema entrega la consulta
generada a la Base de Datos.
19 La Base de Datos procesa la consulta.
20 La Base de Datos entrega los
resultados de la consulta al Sistema.
21 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema modifica el Año y muestra un mensaje
de modificado con éxito.
excepciones Paso Acción
13’ y 16' El sistema muestra un mensaje
de error en la validación si los
datos ingresados no cumplen
las respectivas condiciones..
Rendimiento Paso Cota de tiempo
1...21 El promedio de la modificación dura 1
minuto.
Frecuencia Indefinida.
47
Comentarios Ninguno.
48
6’ El sistema no mostrara nada si
la base de datos no devuelve
resultados.
Rendimiento Paso Cota de tiempo
1...8 El promedio de la consulta dura 35
segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
49
7 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de guardado.
8 El Sistema Genera la consulta
necesaria para guardar.
9 El Sistema entrega la consulta
generada a la Base de Datos.
10 La Base de Datos se encarga de
procesar la consulta.
11 La Base de Datos entrega los
resultados de la consulta al Sistema.
12 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema registra el Usuario ingresado y muestra
el mensaje de guardado con éxito.
excepciones Paso Acción
4’ y 5’ El sistema muestra un mensaje
de error en la validación si los
datos ingresados no cumplen
las respectivas condiciones.
Rendimiento Paso Cota de tiempo
1...12 El promedio del registro dura 35
segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
50
Autor: Gutierrez Quispe Beyker Albert.
Descripción: Aquí se encuadra el servicio para modificar un
Usuario.
Precondición: El Usuario ya debe estar registrado. Solo los
administradores pueden modificar Usuarios.
Secuencia Paso Acción
Normal 1 El Empleado selecciona Opciones de
Administrador - Usuario en el menú.
2 El Sistema muestra el formulario de
Usuario y las opciones de búsqueda.
3 El Empleado selecciona la opción de
búsqueda e ingresa el criterio para la
búsqueda.
4 El Sistema se encarga de generar la
consulta para buscar.
5 El Sistema entrega la consulta
generada a la Base de Datos.
6 La Base de Datos procesa la consulta.
7 La Base de Datos entrega los
resultados de la consulta al Sistema.
8 El Sistema muestra los resultados al
Empleado.
9 El Empleado selecciona un Usuario de
la lista de resultados.
10 El Sistema pasa los datos al
formulario.
11 El Sistema muestra los datos en el
formulario.
12 El Empleado modifica los datos en el
formulario.
51
13 El Sistema valida los datos al ser
ingresados.
14 El Sistema muestra los mensajes de
validación.
15 El Empleado selecciona la opción
modificar.
16 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de modificación.
17 El Sistema Genera la consulta para
modificar.
18 El Sistema entrega la consulta
generada a la Base de Datos.
19 La Base de Datos procesa la consulta.
20 La Base de Datos entrega los
resultados de la consulta al Sistema.
21 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema modifica el Usuario y muestra un
mensaje de modificado con éxito.
excepciones Paso Acción
13’ y 16' El sistema muestra un mensaje
de error en la validación si los
datos ingresados no cumplen
las respectivas condiciones.
Rendimiento Paso Cota de tiempo
1...21 El promedio de la modificación dura 1
minuto.
Frecuencia Indefinida.
Comentarios Ninguno.
52
Tabla 3.8 Especificación de caso de uso Modificar Usuario.
Fuente: Propia
53
11 El Sistema muestra los datos en el
formulario.
12 El Empleado selecciona la opción
eliminar.
13 El Sistema Genera la consulta para
eliminar.
14 El Sistema entrega la consulta
generada a la Base de Datos.
15 La Base de Datos procesa la consulta.
16 La Base de Datos entrega los
resultados al Sistema.
17 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema modifica el Usuario y muestra un
mensaje de modificado con éxito.
excepciones Paso Acción
- Ninguno.
Rendimiento Paso Cota de tiempo
1...17 El promedio de la eliminación dura 30
segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
54
Precondición: Solo los usuarios con permiso pueden registrar
documento.
Secuencia Paso Acción
Normal 1 El Empleado selecciona Documento –
Emitido – Mantenimiento O
Documento – Emitido –
Mantenimiento, según sea el caso.
2 El Sistema muestra el formulario 69 de
Documento Emitido o Documento
Recibido, según sea el caso, y las
opciones de búsqueda.
3 El Empleado revisa el documento a
registrar.
4 El Empleado ingresa los datos al
formulario.
5 El Sistema realiza la validación de los
datos ingresados.
6 El Sistema muestra los mensajes de la
validación.
7 El Empleado selecciona la opción
guardar.
8 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de guardado.
9 El Sistema Genera la consulta
necesaria para guardar.
10 El Sistema entrega la consulta
generada a la Base de Datos.
11 La Base de Datos se encarga de
procesar la consulta.
55
12 La Base de Datos entrega los
resultados de la consulta al Sistema.
13 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema registra el Documento ingresado y
muestra el mensaje de guardado con éxito.
excepciones Paso Acción
4’ y 6’ El sistema muestra un mensaje
de error en la validación si los
datos ingresados no cumplen
las respectivas condiciones.
Rendimiento Paso Cota de tiempo
1...12 El promedio del registro dura 35
segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
Tabla 3.10 Especificación de caso de uso Registrar Documento.
Fuente: Propia
CU_08: Modificar Documento (Emitido-Recibido).
Versión: 1.0
Autor: Gutierrez Quispe Beyker Albert.
Descripción: Aquí se encuadra el servicio para modificar un
Documento (Emitido-Recibido).
Precondición: El Documento ya debe estar registrado. Solo los
usuarios con permiso pueden modificar
documento.
Secuencia Paso Acción
Normal 1 El Empleado selecciona Documento –
Emitido – Mantenimiento O
Documento – Emitido –
Mantenimiento, según sea el caso.
56
2 El Sistema muestra el formulario de
Documento Emitido o Documento
Recibido, según sea el caso, y las
opciones de búsqueda.
3 El Empleado ingresa el número de
registro y selecciona la opción buscar.
4 El Sistema se encarga de generar la
consulta para buscar.
5 El Sistema entrega la consulta
generada a la Base de Datos.
6 La Base de Datos procesa la consulta.
7 La Base de Datos entrega los
resultados al Sistema.
8 El Sistema pasa los datos al
formulario.
9 El Sistema muestra los datos en el
formulario.
10 El Empleado modifica los datos en el
formulario.
11 El Sistema valida los datos al ser
ingresados.
12 El Sistema muestra los mensajes de
validación.
13 El Empleado selecciona la opción
modificar.
14 El Sistema realiza la validación 73 de
los datos ingresados antes de generar
la consulta de modificación.
15 El Sistema Genera la consulta para
modificar.
16 El Sistema entrega la consulta
generada a la Base de Datos.
57
17 La Base de Datos procesa la
consulta.
18 La Base de Datos entrega los
resultados de la consulta al Sistema.
19 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema modifica el Usuario y muestra un
mensaje de modificado con éxito.
excepciones Paso Acción
11’ y 14' El sistema muestra un
mensaje de error en la
validación si los datos
ingresados no cumplen las
respectivas condiciones.
Rendimiento Paso Cota de tiempo
1...19 El promedio de la modificación dura 1
minuto.
Frecuencia Indefinida.
Comentarios Ninguno.
58
5 El Sistema entrega la consulta
generada a la Base de Datos.
6 La Base de Datos procesa la
consulta.
7 La Base de Datos entrega los
resultados al Sistema.
8 El Sistema pasa los datos al
formulario.
9 El Sistema muestra los datos en el
formulario.
10 El Empleado selecciona la opción
modificar.
11 El Sistema realiza la validación de los
datos ingresados antes de generar la
consulta de modificación.
12 El Sistema Genera la consulta para
modificar.
13 El Sistema entrega la consulta
generada a la Base de Datos.
14 La Base de Datos procesa la
consulta.
15 La Base de Datos entrega los
resultados de la consulta al Sistema.
16 El Sistema muestra un mensaje
satisfactorio.
Postcondición: El Sistema elimina el Documento y muestra un
mensaje de eliminado con éxito.
excepciones Paso Acción
- Ninguno.
Rendimiento Paso Cota de tiempo
1...16 El promedio de la eliminación
dura 30 segundos.
Frecuencia Indefinida.
Comentarios Ninguno.
59
Normal 1 El Empleado selecciona Documento –
Emitido – Consulta O Documento –
Emitido – Consulta, según sea el
caso.
2 El Sistema muestra las opciones de
búsqueda.
3 El Empleado selecciona la(s)
opción(es) e ingresa el criterio de
búsqueda.
4 El Sistema Genera la consulta para
buscar..
5 El Sistema entrega la consulta
generada a la Base de Datos.
6 La Base de Datos procesa la
consulta.
7 La Base de Datos entrega los
resultados de la consulta al Sistema.
8 El Sistema muestra los resultados al
Empleado.
9 El Empleado selecciona un resultado.
10 El Sistema Genera la consulta para
buscar más detalladamente.
11 El Sistema entrega la consulta
generada a la Base de Datos.
12 La Base de Datos procesa la
consulta.
13 La Base de Datos entrega los
resultados de la consulta al Sistema.
14 El Sistema genera una nueva ventana
donde aparece el formulario
Documento Emitido O Documento
Recibido, según sea el caso, con los
datos.
15 El sistema muestra la nueva venta al
empleado.
Postcondición: El Sistema muestra detalladamente los datos del
expediente.
excepciones Paso Acción
8’ El sistema no mostrara nada si
la base de datos no devuelve
resultados.
Rendimiento Paso Cota de tiempo
1...15 El promedio de la consulta dura 1 a 2
minutos.
Frecuencia Indefinida.
Comentarios Ninguno.
60
Tabla 3.13 Especificación de caso de uso Buscar Documento.
Fuente: Propia
61
Figura 3.9 Diagrama de secuencia para el caso de uso Registrar usuario
Fuente: Propia
62
Figura 3.10 Diagrama de secuencia para el caso de uso Modificar usuario
Fuente: Propia
63
D. CASO DE USO: ELIMINAR USUARIO:
64
E. CASO DE USO: BUSCAR DOCUMENTO:
65
F. CASO DE USO: MODIFICAR DOCUMENTO:
66
G. CASO DE USO: ELIMINAR DOCUMENTO:
67
H. CASO DE USO: BUSCAR DOCUMENTO
68
DIAGRAMA DE COLABORACIÓN:
I. CASO DE USO: BUSCAR USUARIO:
69
J. CASO DE USO: REGISTRAR USUARIO:
70
K. CASO DE USO: MODIFICAR USUARIO:
71
L. CASO DE USO: ELIMINAR USUARIO:
72
M. CASO DE USO: REGISTRAR DOCUMENTO:
73
N. CASO DE USO: MODIFICAR DOCUMENTO:
74
O. CASO DE USO: ELIMINAR DOCUMENTO:
75
P. CASO DE USO: BUSCAR DOCUMENTO:
76
3.4. MODELO CONCEPTUAL:
3.4.1. DIAGRAMA DE CLASES:
77
3.5. DISEÑO NAVEGACIONAL:
3.5.1. DIAGRAMA DE COMPONENTES:
A. ESTRUCTURA DEL SISTEMA:
78
3.5.1.1. MENÚ DEL ADMINISTRADOR:
79
3.5.1.2. MENÚ DEL USUARIO:
80
3.5.2. DIAGRAMA DE DESPLIEGUE:
A. DISTRIBUCIÓN FÍSICA DEL SISTEMA:
81
3.6. DISEÑO DE LA INTERFAZ ABSTRACTA:
82
Figura 3.30 Interfaz de Documento Emitido
Fuente: Propia
83
Figura 3.31 Interfaz de Consulta Documento Emitido.
Fuente: Propia
84
Figura 3.32 Interfaz de Consulta Documento Remite.
Fuente: Propia
85
3.6.1. MODELO DE LA BASE DE DATOS:
86
3.7. IMPLEMENTACIÓN:
3.7.1. MIGRACIÓN DEL MODELO DE LA BASE DE DATOS EN
DBDESIGNER A MYSQL:
A. PROCESO DE EXPORTACION DEL DBDESIGNER:
1. Damos click en el menu File->Export->SQL créate Scrit
87
Figura 3.35 Selección de las opciones para la exportación
Fuente: Propia
88
3. Seleccionamos la ubicación donde se guardara el
archivo bdsisdoc.sql, el cual contiene la consulta para
crear la base de datos, y damos click en el botón
Guardar.
89
B. PROCESO DE IMPORTACIÓN AL MYSQL:
90
2. Luego seleccionamos la opción Importar y luego
Examinar_, para abrir el archivo generado con la
exportación del DBDesigner.
91
3. Después presionamos el botón Continuar.
92
4. Listo, ya contamos con nuestra Base datos en mysql, y
listo para interactuar con PHP.
93
Figura 3.52: Ventana MyAdmin con la Base de Datos ya importado.
Fuente: Propia
94
3.7.2. CODIGO DE CONEXIÓN A LA BASE DE DATOS CON PHP:
95
CAPÍTULO IV
RESULTADOS DE LA
PRÁCTICA REALIZADA
96
CAPÍTULO IV
97
Figura 4.2 Menú del Sistema.
Fuente: Propia.
4.1. ADMINISTRADOR:
El administrador tiene todas las opciones del sistema. Para el acceso al
sistema de Control Documentario se tiene que ingresar el usuario y
password, el cual es:
Usuario : BEYKER
Password : 123
98
Luego de iniciar sesión con la cuenta del ADMINISTRADOR, el menú
que aparece por defecto varía apareciendo más opciones en la barra
de menú, la misma que se puede observar a continuación.
99
4.1.1. DOCUMENTO EMITIDO:
100
Figura 4.6 Formulario de Búsqueda de Documento Emitido.
Fuente: Propia
101
Luego de haber realizado la consulta del documento emitido, se tiene la
opción de exportar los datos a Microsoft Excel.
102
Figura 4.8 Datos Exportados a Excel.
Fuente: Propia
103
Si aun resultado se da click en la columna ver más (+), nos mostrara una
nueva ventana con el formulario de mantenimiento del documento
emitido, en donde aparece los datos del documento en consulta.
104
4.1.2. DOCUMENTO RECIBIDO:
105
En el formulario búsqueda del documento recibido, se tiene las opciones
de buscar el documento recibido por: remite, año, sede, número de
registro, número de documento, tipo de documento, área, etc, la misma
consulta que nos ayuda para minimizar el tiempo de la búsqueda.
106
Luego de haber realizado la consulta del documento recibido, se tiene
la opción de exportar los datos a Microsoft Excel.
107
Figura 4.13 Datos Exportados a Excel.
Fuente: Propia
108
Si aun resultado se da click en la columna ver más (+), nos mostrara una
nueva ventana con el formulario de mantenimiento del documento
recibido, en donde aparece los datos del documento en consulta.
109
4.1.3. ÁREA:
Permite administrar y buscar el área.
110
4.1.4. ESCUELA:
Permite administrar y buscar la Escuela Profesional.
111
4.1.5. FACULTAD:
Permite administrar y buscar la Facultad.
112
4.1.6. PERSONA:
113
4.1.7. AÑO:
Permite administrar y buscar el año.
114
4.1.8. SEDE:
Permite administrar y buscar la sede.
115
4.1.9. GRADO:
Permite administrar y buscar el grado.
116
4.1.10. USUARIO:
Permite administrar y buscar los usuarios.
117
4.1.11. TIPO USUARIO:
Permite administrar y buscar los tipos de usuario.
118
4.1.12. TIPO DOCUMENTO:
Permite administrar y buscar los tipos de documentos.
119
4.1.13. TIPO REFERENCIA:
Permite administrar y buscar los tipos de referencias.
120
4.1.14. ESTADO DEL DOCUMENTO:
Permite administrar y buscar el estado del documento.
121
4.1.15. ORIGEN:
Permite administrar y buscar el origen del documento.
122
4.1.16. USUARIO:
123
CAPÍTULO V
CONCLUSIONES Y
SUGERENCIAS
124
CAPÍTULO V
5 CONCLUSIONES Y SUGERENCIAS:
5.1. CONCLUSIONES:
125
5.2. RECOMENDACIONES:
126
CAPÍTULO VI
BIBLIOGRAFIA
127
CAPÍTULO VI
6 BIBLIOGRAFIA:
LIBROS IMPRESOS:
Vázquez Mollo Virginia, Molina Cáceres Juan José, Ríos López Cecilia
(2004), Metodología de Objetos UML y RUP, I Edición, Universidad José
Carlos Mariátegui, 507 páginas, Perú, Pág. 3 al 45, 50 al 85.
LIBROS DIGITALES:
128
Autor: Xavier Ferré Grau - María Isabel Sánchez Segura (2004), Lenguaje
Unificado de Modelado, España, disponible en:
http://www.clikear.com/manuales/uml, [web en línea].
DIRECCIONES ELECTRÓNICAS:
129
WIKIPEDIA PHP, Disponible en: http://es.wikipedia.org/wiki/PHP, [web en
línea].
130
CAPÍTULO VII
ANEXOS
131
CAPÍTULO VII
7 ANEXOS:
PÁGINA DE INICIO:
Index.php
<?php
session_start();
if ($_SESSION['autenticado']=='SI')
{
$nombres=$_SESSION['usuario'];
$cargo=$_SESSION['cargo'];
// $idAdministrador=$_SESSION['idAdministrado'];
$BV="<span>".strtoupper("$nombres")." ($cargo)"." <a
target='gutierrez' href='public/w.php' class='leo' >Cerrar Sesion
</a></span>";
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
132
<link
href="public/css/dropdown/themes/nvidia.com/default.advanced.cs
s" media="all" rel="stylesheet" type="text/css" />
<script type="text/javascript"
src="public/js/swfobject.js"></script>
<noscript>
<style type="text/css">
#dock { top: -32px; }
a.dock-item { position: relative; float: left;
margin-right: 10px; }
.dock-item span { display: block; }
.stack { top: 0; }
.stack ul li { position: relative; }
</style>
</noscript>
<script type="text/javascript"
src="public/js/jquery.min.js"></script>
<script type="text/javascript" src="public/js/fisheyeiutil.
min.js"></script>
<script type="text/javascript" src="public/js/dock
example1.js"></script>
<script type="text/javascript" src="public/js/stack-
1.js"></script>
<script>
function ajustar(){
var altura =
window.frames['gutierrez'].document.body.scrollHeight;// Obtengo
altura del documento
document.getElementById('gutierrez').height =
altura+400;// Cambio altura de iframe
}
</script>
</head>
<body
onload="menuSlider.init('menucabecera','menucabeceraslide')"
bgcolor="#ffffff" onresize="ajustar()">
<table border='0' id="ujcmhead" align="center" cellpadding="0"
cellspacing="0" width="860">
<tbody>
<tr>
<td width="95" bgcolor="#DEE7F7">
</td>
<td height="31" bgcolor="#DEE7F7"></td>
<td align="right" bgcolor="#DEE7F7"><script
type="text/javascript">fecha();</script><span
id="fecha"></span></td>
</tr>
<tr>
<td colspan='3'>
<div id="header">
133
<div style="color:blue; font: 20px Broadway BT;">
<CENTER>
<P style="color:red; font: 35px Broadway
BT;">SISTEMA DE CONTROL DOCUMENTARIO</P>
<P style="color:blue; font: 20px Britannic
Bold;">"UNIVERSIDAD JOSÉ CARLOS MARIÁTEGUI"</P>
<H1></H1>
</CENTER>
</div>
<h1>
<table width="860">
<tr><td width="180">
<img src="public/img/logo.png" alt="SISCOD" width="70" />
SISCOD
</td><td align="CENTER" style="color:#81BE18; font: 20px Comic
Sans MS;">OSAERC</BR> PRE-GRADO
</td><td width="180" align="right">
<img src="public/img/ujcm.gif" width="70"/>
</td></tr>
</h1>
<table width="860">
<tr><td>
<ul class="dropdown dropdown-horizontal">
<li>
<a href="./" class="dir">Inicio</a>
</li>
<?php
if ($_SESSION['autenticado']=='SI')
{
switch($_SESSION['cargo']){
case 'USUARIO':
require_once ('public/menu/menuUser.php');
break;
case 'ADMINISTRADOR':
require_once
('public/menu/menuAdmin.php');
break;
}
}else{
?>
<li>
<a href="presentacion/FrmLogin.php" target='gutierrez'
class="dir">Ingresar</a>
</li>
<li><a href="./" class="dir">Consulta</a>
<ul>
<li><a href="presentacion/FrmConsultaEmitido.php"
target='gutierrez'>Documento Emitido</a></li>
134
<li><a
href="presentacion/FrmConsultaRecibido.php"
target='gutierrez'>Documento Recibido</a></li>
</ul>
</li>
<?php
}
?>
<li>
<a href="public/manual.pdf" target='gutierrez'
class="dir">Manual</a>
</li>
<li>
<a href="public/acerca.php" target='gutierrez'
class="dir">Acerca de..</a>
</li>
</ul>
</td>
<td><div style="font-size: 9;">
Programaddr: Bach. Beyker Albert Gutierrez
Quispe.</br>E-mail: beyker_gutierre@hdtmail.cdm
</div>
</td>
</tr>
135
<tbody>
<tr>
<td><img src="public/img/spacer.gif" alt=""
border="0" height="1" width="12"></td>
</tr>
<tr>
<td rowspan="7" colspan="4">
<td><img src="public/img/spacer.gif" alt=""
border="0" height="77" width="1"></td>
</tr>
</tbody>
</table>
</div>
<?php
if ($_SESSION['autenticado']=='SI')
{
switch($_SESSION['cargo']){
case 'USUARIO':
require_once ('public/menu/menuUser.php');
break;
case 'ADMINISTRADOR':
require_once
('public/menu/menuAdmin.php');
break;
}
?>
<?php
}
?>
<center>
<table border='0' cellpadding="0" cellspacing="0" width="860">
<tr>
<td bgcolor="#DEE7F7" width='100%'
height='10'></td>
</tr>
<tr>
<td colspan="3" background="public/partes_r25_c4.jpg">
<strong>SISCOD © 2011</strong><br>
Prdgramaddr: Bach. Beyker Albert Gutierrez Quispe.</br>
E-mail: beyker_gutierre@hdtmail.cdm
<br><br>
</td>
<tr>
</table>
</center>
<script src="index.js" type="text/javascript"></script>
</body></html>
136
Index.js:
$('.leo').click(function(){
$.ajax({
type: "POST",
url: "presentacion/CSession.php",
data: "boton=cerrar",
success: function(html)
{
$('#session').html(html);
}
})
});
CLASE CONEXIÓN:
Conexión.php:
<?php
class conexion
{
var $server="localhost";
var $user="root";
var $pass="";
var $bd="BDSISCOD";
public $conn;
function conectar()
{
$this->conn=new mysqli($this->server,$this-
>user,$this->pass,$this->bd);
}
function cerrar()
{
$this->conn->close();
}
}
?>
137
<script src="../public/js/jquery.js"
type="text/javascript"></script>
<script src="../public/js/jquery.validate.js"
type="text/javascript"></script>
<script src="../public/js/tab.js" type="text/javascript"
></script>
<link href="../public/css/insidestyle.css" rel="stylesheet"
type="text/css"/>
<style>
.dropdownEffect
{
width: 170px;
}
table.tmin th {
border-width: 1px;
border-style: solid;
border-color: #a9c6c9;
padding: 0px 0px 0px 0px;
margin:0;
width:180:
line-height: 1.2em;
font-size: 12px;
background-color:#3F6DA7;
color:white;
}
.campo{
color:white;
}
</style>
</head>
<body BGCOLOR="#4C4C4C">
<center>
<P class="ftitle">DOCUMENTO RECIBIDO</P>
<form id="registro" name="registro" action="">
<div id="warning"></div>
<table border='1' class='ctb'>
<tr>
<td colspan="2" >
<table class='ctb' width="100%">
<tr>
<th>Creado</th>
<td width="50%"><div id="loginC"></div></td>
<th>Modificado</th>
<td width="50%"><div id="loginM"></div></td>
</tr>
<tr>
<th>Fecha</th>
<td><div id="fechaC"></div></td>
<th>Fecha</th>
138
<td><div id="fechaM"></div></td>
</tr>
</table>
</td >
</tr>
<tr>
<td WIDTH='340'>
<table>
<tr>
<th colspan="2"><table border='1' class="tmin"
width="100%">
<tr>
<th width="25%"><div
id="primero"><img src="../public/img/first.png"
width="30"></div></th>
<th width="25%"><div
id="anterior"><img src="../public/img/previous.png"
width="30"></div></th>
<th width="25%"><div
id="siguiente"><img src="../public/img/next.png"
width="30"></div></th>
<th width="25%"><div
id="ultimo"><img src="../public/img/last.png"
width="30"></div></th>
</tr>
</table>
</th>
</tr>
<tr>
<th><label class="campo">Id</label></th>
<td><input type="text" name="id" id="id" value='' size="18"
class='textboxEffect'/>
<input type="button" id="boton"
name="boton" value="Buscar" class="submitbutton"/>
<input type="hidden" name="nwarning"
id="nwarning" class='textboxEffect'/>
</td>
</tr>
<tr>
<th><label class="campo"># Registro</label></th>
<td><input type="text" id="nRegistro"
name="nRegistro" class="textboxEffect"/>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo">TipoDocumento</label></th>
<td><div id="tipoDocumento">
<select name='idTipoDocumento'
id='idTipoDocumento' class='dropdownEffect'>
139
<option value='-1'>Selecciona
una Tipo de Documento...</option>
</select>
</div>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo"># Documento</label></th>
<td><input type="text" id="nDocumento"
name="nDocumento" class="textboxEffect"/>
</td>
</tr>
<tr>
<th><label class="campo">Remite</label></th>
<td><div id="pRemite">
<select name='idRemite'
id='idRemite' class='dropdownEffect'>
<option value='-1'>Selecciona
una Persona...</option>
</select>
</div>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo">Asunto</label></th>
<td><input type="text" id="asunto" name="asunto"
class="textboxEffect"/>
</td>
</tr>
<tr>
<th><label class="campo">Origen</label></th>
<td><div id="origen">
<select name='idOrigen' id='idOrigen'
class='dropdownEffect'>
<option value='-1'>Selecciona
una Origen...</option>
</select>
</div>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo">Area</label></th>
<td><div id="area">
<select name='idArea' id='idArea'
class='dropdownEffect'>
<option value='-1'>Selecciona
una Area...</option>
140
</select>
</div>
</td>
</tr>
<tr>
<th><label class="campo">Sede</label></th>
<td><div id="sede">
<select name='idSede' id='idSede'
class='dropdownEffect'>
<option value='-1'>Selecciona
una Año...</option>
</select>
</div>
</td>
</tr>
<tr>
<th><label class="campo">Recibe</label></th>
<td><div id="recibe">
<select name='idRecibe'
id='idRecibe' class='dropdownEffect'>
<option value='-1'>Selecciona
una Usuario...</option>
</select>
</div>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo">Recoge</label></th>
<td><div id="pRecoge">
<select name='idRecoge'
id='idRecoge' class='dropdownEffect'>
<option value='-1'>Selecciona
una Persona...</option>
</select>
</div>
</td>
</tr>
<tr>
<th><label class="campo">AreaDerivada</label></th>
<td><div id="areaDerivada">
<select name='idArea' id='idArea'
class='dropdownEffect'>
<option value='-1'>Selecciona
una Area...</option>
</select>
</div>
</td>
</tr>
<tr>
141
<th><label class="campo">Estado</label></th>
<td><div id="estado">
<select name='idEstado'
id='idEstado' class='dropdownEffect'>
<option value='-1'>Selecciona
un Estado...</option>
</select>
</div>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo">Año</label></th>
<td><div id="anyo">
<select name='idAnyo' id='idAnyo'
class='dropdownEffect'>
<option value='-1'>Selecciona
un Año...</option>
</select>
</div>
<span class="required">*</span>
</td>
</tr>
<tr>
<th><label class="campo">Remite</label></th>
<td><input type="text" id="remite" name="remite"
class="textboxEffect"/>
</td>
</tr>
<tr>
<th><label class="campo">F. Recepcion</label></th>
<td><input type="text" id="fechaRecepcion"
name="fechaRecepcion" class="textboxEffect"/>
</td>
</tr>
<tr>
<th><label class="campo">F. Entrega</label></th>
<td><input type="text" id="fechaEntrega"
name="fechaEntrega" class="textboxEffect"/>
</td>
</tr>
<tr>
<th><label class="campo">Observacion</label></th>
<td><textarea id="observacion" name="observacion"
class="textareaEffect" cols="15" rows="1"></textarea>
</td>
</table>
</td>
</tr>
</table>
142
<table>
<tr>
<th>
<input type="button" id="boton" name="boton" value="Nuevo"
class="submitbutton"/>
<input type="button" id="boton" name="boton"
value="Guardar" class="submitbutton"/>
<input type="button" id="boton" name="boton"
value="Actualizar" class="submitbutton"/>
<input type="button" id="boton" name="boton"
value="Eliminar" class="submitbutton"/>
</th>
</tr>
<tr>
<th><div id="msg"></div></th>
</tr>
<tr>
<th><div id="listado"></div></th>
</tr>
</table>
</form>
</center>
<script src="FrmDocumentoRecibido.js"
type="text/javascript"></script>
<script src="../public/js/efectos.js"
type="text/javascript"></script>
</body>
</html>
<?php
}else{
echo "no tienes permiso para ver esto";
}
?>
FrmDocumentoRecibido.js:
$(document).ready(function(){
// $('#oTitulo').hide();
// $('#oCertificado').hide();
cargarTipoDocumento();//Carga el select de
TipoDocumento
cargarRemite();//Carga el select de Remite
cargarOrigen();//Carga el select de TipoOrigen
cargarArea();//Carga el select de Area
cargarSede();//Carga el select de Sede
cargarRecibe();//Carga el select de Recibe
cargarRecoge();//Carga el select de Recoge
cargarAreaDerivada() //Carga el select de AreaDerivada
cargarEstado() //Carga el select de Estado
cargarAnyo() //Carga el select de Anyo
comprobar();
143
})
function comprobar(){
$.validator.addMethod("posit",function(value,element,regex
p){
var re= new RegExp(regexp);
return this.optional(element) || re.test(value);
},"Campo obligatorio");
$("#registro").validate({
rules:{
idTipoDocumento:{
required:true,
posit:"^[0-9]+$"
},
idRemite:{
required:true,
posit:"^[0-9]+$"
},
idOrigen:{
required:true,
posit:"^[0-9]+$"
},
idRecibe:{
required:true,
},
idEstado:{
required:true,
posit:"^[0-9]+$"
},
idAnyo:{
required:true,
posit:"^[0-9]+$"
},
nRegistro:{
posit:"^[0-9]+$"
}
},
messages:{
idTipoDocumento:{
required:"Campo obligatorio"
},
idRemite:{
required:"Campo obligatorio"
},
idOrigen:{
required:"Campo obligatorio"
},
idRecibe:{
required:"Campo obligatorio"
},
idEstado:{
144
required:"Campo obligatorio"
},
idAnyo:{
required:"Campo obligatorio"
},
nRegistro:{
posit:"Solo digitos"
}
},
showErrors: function(errorMap, errorList) {
$("#warning").html("Tu formulario contiene " +
this.numberOfInvalids() + " error(es).");
$("#nwarning").val(this.numberOfInvalids());
this.defaultShowErrors();
},
debug: false,
errorContainer: $("#warning"),
success: function(label){
label.text("ok!").addClass("success");
},
submitHandler:function(){
alert("Los datos han sido enviados");
}
});
}
function cargarTipoDocumento()
{
$.ajax({
type: "POST",
url: "CTipoDocumento.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#tipoDocumento").html(html);
}
});
}
function cargarRemite()
{
$.ajax({
type: "POST",
url: "CPersona.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#pRemite").html(html);
}
});
}
function cargarOrigen()
145
{
$.ajax({
type: "POST",
url: "COrigen.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#origen").html(html);
}
});
}
function cargarArea()
{
$.ajax({
type: "POST",
url: "CArea.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#area").html(html);
}
});
}
function cargarSede()
{
$.ajax({
type: "POST",
url: "CSede.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#sede").html(html);
}
});
}
function cargarRecibe()
{
$.ajax({
type: "POST",
url: "CUsuario.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#recibe").html(html);
}
});
}
function cargarRecoge()
{
$.ajax({
146
type: "POST",
url: "CPersona.php",
data: "boton=cargarSelect2",
success: function(html)
{
$("#pRecoge").html(html);
}
});
}
function cargarAreaDerivada()
{
$.ajax({
type: "POST",
url: "CArea.php",
data: "boton=cargarSelect2",
success: function(html)
{
$("#areaDerivada").html(html);
}
});
}
function cargarEstado()
{
$.ajax({
type: "POST",
url: "CEstado.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#estado").html(html);
}
});
}
function cargarAnyo()
{
$.ajax({
type: "POST",
url: "CAnyo.php",
data: "boton=cargarSelect",
success: function(html)
{
$("#anyo").html(html);
}
});
}
$(":button").click(function()
{
var war="";
var id = $('#id').val();
var idTipoDocumento = $('#idTipoDocumento').val();
147
var idRemite = $('#idRemite').val();
var idOrigen= $('#idOrigen').val();
var idArea= $('#idArea').val();
var idSede = $('#idSede').val();
var idRecibe = $('#idRecibe').val();
var idRecoge = $('#idRecoge').val();
var idAreaDerivada = $('#idAreaDerivada').val();
var idEstado = $('#idEstado').val();
var idAnyo = $('#idAnyo').val();
var nRegistro = $('#nRegistro').val();
var nDocumento = $('#nDocumento').val();
var remite = $('#remite').val();
var asunto = $('#asunto').val();
var fechaRecepcion = $('#fechaRecepcion').val();
var fechaEntrega = $('#fechaEntrega').val();
var observacion = $('#observacion').val();
var boton=$(this).val();
var war="";
switch(boton)
{
case 'Buscar':
data="campo=dr.id"+"&operador=="+"&valor="+id+
"&boton="+boton;
div="#listado";
break;
case 'Guardar':
$("form:first").submit();
war=$("#nwarning").val();
data="id="+id+"&idTipoDocumento="+idTipoDocumen
to+"&
idRemite="+idRemite+
"&idOrigen="+idOrigen+"&idArea="+idArea+"&idSede
="+id
Sede+"&idRecibe="+idRecibe+
"&idRecoge="+idRecoge+"&idAreaDerivada="+idArea
Deriv
ada+"&idEstado="+idEstado+
"&idAnyo="+idAnyo+"&nRegistro="+nRegistro+"&nDo
cume
nto="+nDocumento+"&remite="+remite+
"&asunto="+asunto+"&fechaRecepcion="+fechaRece
pcion
+"&fechaEntrega="+fechaEntrega+
"&observacion="+observacion+
"&boton="+boton;
div="#msg";
break;
case 'Actualizar':
$("form:first").submit();
war=$("#nwarning").val();
148
data="id="+id+"&idTipoDocumento="+idTipoDocumen
to+"&
idRemite="+idRemite+
"&idOrigen="+idOrigen+"&idArea="+idArea+"&idSede
="+id
Sede+"&idRecibe="+idRecibe+
"&idRecoge="+idRecoge+"&idAreaDerivada="+idArea
Deriv
ada+"&idEstado="+idEstado+
"&idAnyo="+idAnyo+"&nRegistro="+nRegistro+"&nDo
cume
nto="+nDocumento+"&remite="+remite+
"&asunto="+asunto+"&fechaRecepcion="+fechaRece
pcion
+"&fechaEntrega="+fechaEntrega+
"&observacion="+observacion+
"&boton="+boton;
div="#msg";
break;
case 'Eliminar':
data="id="+id+"&boton="+boton;
div="#msg";
break;
case 'Nuevo':
limpiar();
exit;
}
if(war>0){
exit;
}
$.ajax({
type: "POST",
url: "CDocumentoRecibido.php",
data: data,
success: function(html)
{
$(div).html(html);
}
});
/*
if(boton==='Actualizar'){
$.ajax({
type: "POST",
url: "CDocumentoRecibido.php",
data="campo=dr.id"+"&operador=="+"&valor="+id+
"&boton=Buscar",
success: function(html)
{
$("#listado").html(html);
}
149
});
}
*/
});
function limpiar()
{
$('#msg').html('');
$('#id').val("");
$('#idTipoDocumento').val("");
$('#idRemite').val("");
$('#idOrigen').val("");
$('#idArea').val("");
$('#idSede').val("");
$('#idRecibe').val("");
$('#idRecoge').val("");
$('#idAreaDerivada').val("");
$('#idEstado').val("");
$('#idAnyo').val("");
$('#nRegistro').val("");
$('#nDocumento').val("");
$('#remite').val("");
$('#asunto').val("");
$('#fechaRecepcion').val("");
$('#fechaEntrega').val("");
$('#observacion').val("");
}
function llenarCampos(id,idTipoDocumento,idRemite,idOrigen,
idArea,idSede,idRecibe,idRecoge,idAreaDerivada,idEstado,
idAnyo,nRegistro,nDocumento,remite,asunto,fechaRecepcion,fech
aEntrega,observacion,
loginC,fechaC,loginM,fechaM)
{
alert("Registro #: "+nRegistro);
$('#id').val(id);
$('#idTipoDocumento').val(idTipoDocumento);
$('#idRemite').val(idRemite);
$('#idOrigen').val(idOrigen);
$('#idArea').val(idArea);
$('#idSede').val(idSede);
$('#idRecibe').val(idRecibe);
$('#idRecoge').val(idRecoge);
$('#idAreaDerivada').val(idAreaDerivada);
$('#idEstado').val(idEstado);
$('#idAnyo').val(idAnyo);
$('#nRegistro').val(nRegistro);
$('#nDocumento').val(nDocumento);
$('#remite').val(remite);
$('#asunto').val(asunto);
$('#fechaRecepcion').val(fechaRecepcion);
$('#fechaEntrega').val(fechaEntrega);
150
$('#observacion').val(observacion);
$('#loginC').html(loginC);
$('#fechaC').html(fechaC);
$('#loginM').html(loginM);
$('#fechaM').html(fechaM);
}
$('#primero').click(function()
{
$('#msg').html('');
data="campo=dr.id"+"&operador=="+"&boton=Buscar
&opci
on=primero";
$.ajax({
type: "POST",
url: "CDocumentoRecibido.php",
data: data,
success: function(html)
{
$("#listado").html(html);
}
});
});
$('#ultimo').click(function()
{
$('#msg').html('');
data="campo=dr.id"+"&operador=="+"&boton=Buscar
&opci
on=ultimo";
$.ajax({
type: "POST",
url: "CDocumentoRecibido.php",
data: data,
success: function(html)
{
$("#listado").html(html);
}
});
});
$('#siguiente').click(function()
{
$('#msg').html('');
var id = $('#id').val();
if(id===''){
alert('El Campo Id no puede estar vacio');
}else{
data="campo=dr.id"+"&operador=="+"&id="+id+"&bot
on=B
uscar&opcion=siguiente";
$.ajax({
type: "POST",
151
url: "CDocumentoRecibido.php",
data: data,
success: function(html)
{
$("#listado").html(html);
}
});
}
});
$('#anterior').click(function()
{
$('#msg').html('');
var id = $('#id').val();
if(id===''){
alert('El Campo Id no puede estar vacio');
}else{
data="campo=dr.id"+"&operador=="+"&id="+id+"&bot
on=B
uscar&opcion=anterior";
$.ajax({
type: "POST",
url: "CDocumentoRecibido.php",
data: data,
success: function(html)
{
$("#listado").html(html);
}
});
}
});
DocumentoRecibido.php:
<?php
require_once ('configuracion.php');
require_once (PER . DIRECTORY_SEPARATOR .
'Conexion.php');
/**
* Descripcion of DocumentoRecibido
*
*
*/
class DocumentoRecibido
{
private $_id;
private $_idTipoDocumento;
private $_idRemite;
private $_idOrigen;
private $_idArea;
private $_idSede;
152
private $_idRecibe;
private $_idRecoge;
private $_idAreaDerivada;
private $_idEstado;
private $_idAnyo;
private $_nRegistro;
private $_nDocumento;
private $_remite;
private $_asunto;
private $_fechaRecepcion;
private $_fechaEntrega;
private $_observacion;
private $_loginC;
private $_fechaC;
private $_loginM;
private $_fechaM;
const TABLA='documentoRecibido';
public function __construct($id="",
$idTipoDocumento="",
$idRemite="",
$idOrigen="", $idArea="", $idSede="", $idRecibe="",
$idRecoge="", $idAreaDerivada="", $idEstado="",
$idAnyo="", $nRegistro="",
$nDocumento="", $remite="", $asunto="",
$fechaRecepcion="", $fechaEntrega="", $observacion="",
$loginC="", $fechaC="", $loginM="", $fechaM="")
{
$this->_id = $id;
$this->_idTipoDocumento = $idTipoDocumento;
$this->_idRemite = $idRemite;
$this->_idOrigen = $idOrigen;
$this->_idArea = $idArea;
$this->_idSede = $idSede;
$this->_idRecibe = $idRecibe;
$this->_idRecoge = $idRecoge;
$this->_idAreaDerivada = $idAreaDerivada;
$this->_idEstado = $idEstado;
$this->_idAnyo = $idAnyo;
$this->_nRegistro = $nRegistro;
$this->_nDocumento = $nDocumento;
$this->_remite = $remite;
$this->_asunto = $asunto;
$this->_fechaRecepcion = $fechaRecepcion;
$this->_fechaEntrega = $fechaEntrega;
$this->_observacion = $observacion;
$this->_loginC = $loginC;
$this->_fechaC = $fechaC;
$this->_loginM = $loginM;
$this->_fechaM = $fechaM;
$this->mc=new conexion();
153
}
function setValor($valor)
{
$this->valorBusqueda=$valor;
}
function setOperador($operador)
{
$this->operador=$operador;
}
function setCampo($campo)
{
$this->campoBusqueda=$campo;
}
function setOrderBy($orderBy)
{
$this->orderBy=$orderBy;
}
function setoOrderBy($oOrderBy)
{
$this->oOrderBy=$oOrderBy;
}
function setLimitI($desde)
{
$this->limitI=$desde;
}
function setLimitF($cantidad)
{
$this->limitF=$cantidad;
}
public function guardar()
{
$sql="INSERT INTO ".self::TABLA." VALUES('$this-
>_id','$this->_idTipoDocumento','$this->_idRemite',
'$this->_idOrigen','$this->_idArea','$this-
>_idSede','$this->_idRecibe',
'$this->_idRecoge','$this-
>_idAreaDerivada','$this->_idEstado','$this->_idAnyo','$this-
>_nRegistro',
'$this->_nDocumento','$this->_remite','$this-
>_asunto','$this->_fechaRecepcion','$this->_fechaEntrega','$this-
>_observacion',
'$this->_loginC','$this->_fechaC','$this-
>_loginM','$this->_fechaM')";
$this->mc->conectar();
$this->mc->conn->query($sql);
$id=$this->mc->conn->insert_id;
$this->mc->cerrar();
return $id;
}
public function actualizar()
154
{
$sql="UPDATE ".self::TABLA." SET
idTipoDocumento='$this->_idTipoDocumento',idRemite='$this-
>_idRemite',
idOrigen='$this->_idOrigen',idArea='$this-
>_idArea',idSede='$this->_idSede',
idRecibe='$this-
>_idRecibe',idRecoge='$this->_idRecoge',idAreaDerivada='$this-
>_idAreaDerivada',
idEstado='$this->_idEstado',idAnyo='$this-
>_idAnyo',nRegistro='$this->_nRegistro',nDocumento='$this-
>_nDocumento',
remite='$this->_remite',asunto='$this-
>_asunto',fechaRecepcion='$this-
>_fechaRecepcion',fechaEntrega='$this->_fechaEntrega',
observacion='$this-
>_observacion',loginM='$this->_loginM',
fechaM='$this->_fechaM'
WHERE id='$this->_id'";
$this->mc->conectar();
$this->mc->conn->query($sql);
$this->mc->cerrar();
}
public function eliminar()
{
$sql="DELETE FROM ".self::TABLA." WHERE
id='$this->_id'";
$this->mc->conectar();
$this->mc->conn->query($sql);
$this->mc->cerrar();
}
public function cambiarEstado()
{
$sql="UPDATE ".self::TABLA." SET
idEstado='$this->_idEstado' WHERE id='$this->_id'";
$this->mc->conectar();
$this->mc->conn->query($sql);
$this->mc->cerrar();
}
public function buscarDocumentoRecibido()
{
$aValor=explode ("*", $this->valorBusqueda);
$aCampo=explode ("*", $this->campoBusqueda);
$aOperador=explode ("*", $this->operador);
$where="";
$n=count($aValor);
for($i=0;$i<$n;$i++){
if(isset($this->campoBusqueda)){
if($aValor[$i]<>'0'){
if(isset($aOperador[$i]) and
155
($aOperador[$i]<>'LIKE')){
$where.=" AND
".$aCampo[$i] ." ".$aOperador[$i] ." '".$aValor[$i]."' ";
}else{
$where.=" AND
".$aCampo[$i] ." LIKE '%".$aValor[$i] ."%' ";
}
}
}
}
$orderBy="ORDER BY ";
$aOrderBy=explode (",", $this->oOrderBy);
$m=count($aOrderBy);
for($i=0;$i<$m;$i++){
if($aOrderBy[$i]<>''){
$orderBy.=$aOrderBy[$i] .",";
}
}
if(isset($this->orderBy)){
$orderBy.="$this->orderBy";
}else{
$orderBy.="dr.nRegistro";
}
if(isset($this->limitI)){
$limit="LIMIT $this->limitI,$this->limitF";
}
$sql="SELECT
dr.id,
dr.idTipoDocumento,
dr.idRemite,
dr.idOrigen,
dr.idArea,
dr.idSede,
dr.idRecibe,
dr.idRecoge,
dr.idAreaDerivada,
dr.idEstado,
dr.idAnyo,
dr.nRegistro,
dr.nDocumento,
dr.remite,
dr.asunto,
dr.fechaRecepcion,
dr.fechaEntrega,
dr.observacion,
dr.loginC,
dr.fechaC,
dr.loginM,
dr.fechaM,
td.tipoDocumento,
156
(
SELECT
count(documentorecibido.id)
FROM
documentorecibido,
referencia,
estado,
tiporeferencia
where
referencia.idDocumentoRecibido = documentorecibido.id AND
documentorecibido.idEstado = estado.idEstado AND
referencia.idTipoReferencia = tiporeferencia.idTipoReferencia
AND
estado.estado LIKE 'ate%' AND
tiporeferencia.tipoReferencia LIKE 'ate%' AND
idDocumentoRecibido =dr.id
) AS nAtencion,
CONCAT(p.nombre,' ',p.apellido) as remite,
o.origen as origen,
a.area as area,
s.nombre as sede,
u.login as recibe,
CONCAT(p1.nombre,' ',p1.apellido) as recoge,
a1.area as areaDerivada,
e.estado as estado,
an.anyo as anyo
FROM
documentoRecibido AS dr,
tipoDocumento as td,
persona as p,
origen as o,
area as a,
sede as s,
usuario as u,
persona as p1,
area as a1,
estado as e,
anyo as an
WHERE
dr.idTipoDocumento=td.idTipoDocumento AND
dr.idRemite=p.idPersona AND
dr.idOrigen=o.idOrigen AND
dr.idArea=a.idArea AND
dr.idSede=s.idSede AND
dr.idRecibe=u.login AND
dr.idRecoge=p1.idPersona AND
dr.idAreaDerivada=a1.idArea AND
dr.idEstado=e.idEstado AND
dr.idAnyo=an.idAnyo AND
dr.nRegistro LIKE '%%' "
157
.$where." ".$orderBy." ".$limit;
$this->mc->conectar();
$res=$this->mc->conn->query($sql);
if ($res->num_rows>0)
{ $c=0;
while ($r=$res->fetch_array(MYSQLI_NUM))
{ $a[$c][0]=$r[0]; //dr.id
$a[$c][1]=$r[1]; //dr.idTipoDocumento
$a[$c][2]=$r[2]; //dr.idRemite
$a[$c][3]=$r[3]; //dr.idOrigen
$a[$c][4]=$r[4]; //dr.idArea
$a[$c][5]=$r[5]; //dr.idSede
$a[$c][6]=$r[6]; //dr.idRecibe
$a[$c][7]=$r[7]; //dr.idRecoge
$a[$c][8]=$r[8]; //dr.idAreaDerivada
$a[$c][9]=$r[9]; //dr.idEstado
$a[$c][10]=$r[10]; //dr.idAnyo
$a[$c][11]=$r[11]; //dr.nRegistro
$a[$c][12]=$r[12]; //dr.nDocumento
$a[$c][13]=$r[13]; //dr.remite
$a[$c][14]=$r[14]; //dr.asunto
$a[$c][15]=$r[15];
//dr.fechaRecepcion
$a[$c][16]=$r[16]; //dr.fechaEntrega
$a[$c][17]=$r[17]; //dr.observacion
$a[$c][18]=$r[18]; //dr.loginC
$a[$c][19]=$r[19]; //dr.fechaC
$a[$c][20]=$r[20]; //dr.loginM
$a[$c][21]=$r[21]; //dr.fechaM
$a[$c][22]=$r[22]; //td.tipoDocumento
$a[$c][23]=$r[23]; //nAtencion
$a[$c][24]=$r[24]; //p.apellido remite
$a[$c][25]=$r[25]; //o.origen origen
$a[$c][26]=$r[26]; //a.area area
$a[$c][27]=$r[27]; //s.nombre sede
$a[$c][28]=$r[28]; //u.login recibe
$a[$c][29]=$r[29]; //p1.apellido
recoge
$a[$c][30]=$r[30]; //a1.area
areaDerivada
$a[$c][31]=$r[31]; //e.estado estado
$a[$c][33]=$r[33]; //an.anyo anyo
$c++;
}
}
return $a;
}
public function contar()
158
{
$aValor=explode ("*", $this->valorBusqueda);
$aCampo=explode ("*", $this->campoBusqueda);
$aOperador=explode ("*", $this->operador);
$where="";
$n=count($aValor);
for($i=0;$i<$n;$i++){
if(isset($this->campoBusqueda)){
if($aValor[$i]<>'0'){
if(isset($aOperador[$i]) and
($aOperador[$i]<>'LIKE')){
$where.=" AND
".$aCampo[$i] ." ".$aOperador[$i] ." '".$aValor[$i]."' ";
}else{
$where.=" AND
".$aCampo[$i] ." LIKE '%".$aValor[$i] ."%' ";
}
}
}
}
if(isset($this->limitI)){
$limit="LIMIT $this->limitI,$this->limitF";
}
$sql="SELECT
COUNT(*)
FROM
documentoRecibido AS dr
WHERE
dr.nRegistro LIKE '%%' "
.$where." ".$limit;
$this->mc->conectar();
$res=$this->mc->conn->query($sql);
$r=$res->fetch_array(MYSQLI_NUM);
return $r[0];
}
public function primero()
{
$sql="SELECT min(id) FROM documentoRecibido";
$this->mc->conectar();
$res=$this->mc->conn->query($sql);
$r=$res->fetch_array(MYSQLI_NUM);
return $r[0];
}
public function ultimo()
{
$sql="SELECT max(id) FROM
documentoRecibido";
$this->mc->conectar();
$res=$this->mc->conn->query($sql);
$r=$res->fetch_array(MYSQLI_NUM);
159
return $r[0];
}
public function siguiente()
{
$sql="SELECT min(id) FROM documentoRecibido
WHERE id > $this->_id";
$this->mc->conectar();
$res=$this->mc->conn->query($sql);
$r=$res->fetch_array(MYSQLI_NUM);
return $r[0];
}
public function anterior()
{
$sql="SELECT max(id) FROM documentoRecibido
WHERE id < $this->_id";
$this->mc->conectar();
$res=$this->mc->conn->query($sql);
$r=$res->fetch_array(MYSQLI_NUM);
return $r[0];
}
public function __toString()
{
return $this->_id." ".$this->_idTipoDocumento." ".$this-
>_idTipoDocumento;
}
}
160
GLOSARIO
1. Freeware:
3. DualDual:
La palabra Dual hace referencia a una dúplica o espejo de algo que se está
haciendo, por ejemplo la dual de una tabla en Oracle.
Doble canal de datos. Es una característica que nos indica que el procesador
puede acceder a su memoria por dos caminos distintos y los puede usar de
forma.
5. Apache:
6. Aplicación:
161
7. FTP:
8. Hosting:
9. JSP:
10. MySQL:
11. NCSA:
12. ODBC:
162
cualquier dato de cualquier aplicación, sin importar qué Sistema Gestor de
Bases de Datos (DBMS por sus siglas en inglés) almacene los datos.
14. Paquete:
15. PHP:
16. Protocolo:
17. Proxy:
163
Un servidor es una computadora que maneja peticiones de data, email,
servicios de redes y transferencia de archivos de otras computadoras
(clientes).
20. Servlet:
164