Upload
aranu-arekisu
View
13.107
Download
6
Embed Size (px)
DESCRIPTION
Citation preview
UNIVERSIDAD LUTERANA SALVADOREÑA
FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA
LICENCIATURA EN CIENCIAS DE LA COMPUTACION
CATEDRA:
ANALISIS ESTRUCTURADO.
TEMA:
SISTEMA DE CONTROL DE ENTRADAS Y SALIDAS DE ALIMENTOS EN EL
CENTRO ESCOLAR DOCTORA ENRIQUE MENENDEZ.
ESTUDIANTE:
DARWIN ALEXANDER CHICAS ESCOBAR.
ALAN ALEXIS VENTURA MONTES.
CATEDRATICO:
LICDA. ANA LISSETTE GIRÓN.
FECHA DE ENTREGA.
SAN SALVADOR, 16 DE MAYO DE 2012.
1
INDICE
I. Introducción 2
II. Planteamiento de problema 3
III. Objetivos 4
IV. Justificación 5
V. Alcances 6
VI. Limitaciones 7
VII. Metodología a utilizar 8
VIII. Marco teórico 10
1. Datos de las institución 14
2. Propuestas 15
3. Solución 16
Fase de análisis de sistema
4. Estudio de factibilidad 17
5. Análisis de requerimientos 20
6. Diagramas de contextos 21
7. Diagrama de flujo de datos 22
8. Diagramas de caso de uso 25
9. Diagramas de actividades 28
Fase de diseño del sistema
10. Entidad relación 30
11. Diccionarios de datos 31
12. Conclusiones 36
13. Anexos 37
14. Manual del Programador 44
2
INTRODUCCIÓN
El presente trabajo ha sido elaborado con la finalidad que el estudiante comprenda y
maneje el análisis estructura que es una de las fases que comprenden el ciclo de vida
de un software en este detallamos el problema con el que se encuentra una institución
de Jucuaran en el departamento de Usulután la cual quiere crear una aplicación para
llevar el control de consumo de alimentos que realizan en la institución lo alumnos.
Para estos hemos planteado una seria de alterativas derivadas de un previa
investigación en las cuales se lección la más aceptable de acuerdo a los recursos y
medios con que cuenta la institución.
3
PLANTEAMIENTO DEL PROBLEMA
Diseñar una aplicación para el manejo de las entradas y salidas de los alimentos en la
institución ya que actualmente esto se maneja de forma manual lo cual se vuelve
tedioso y lento debido a esto la institución ha solicitado la elaboración de una
aplicación que lleve el control de las entradas y salidas de alimentos que realiza la
institución.
Actualmente se lleva el control de los alimentos que se entregan a los estudiantes
mediante una serie de formularios los cuales son bastante extensos y que no ayudan a
llevar un control detallado de cuantos alimentos se consumen por estudiante así como
también cuando se consume ya sea por semana o mes.
4
OBJETIVOS
Objetivo general.
Desarrollar el análisis y diseño de una aplicación informática que tenga la
capacidad de controlar las entradas y salidas de alimentos que se realizar en el
Centro Escolar Dr. Enrique Magaña Menéndez, Municipio de Jucuarán,
departamento de Usulután.
Objetivo específico.
Analizar los procesos y métodos actuales con que la institución maneja el
control de los alimentos.
Crear una aplicación capaz de llevar un control minucioso de las entradas y
salidas de alimentos.
Informes detallados tanto de las entradas y salidas de los alimentos mediante
filtros específicos como lo son: estudiantes, periodos de tiempo, tipo de
alimentos, etc.
Optimizar la realización de este proceso mediante la creación de la aplicación.
5
JUSTIFICACIÓN
A nivel nacional de El Salvador hay muchas instituciones, colegios y Centros Escolares
que necesitan de un programa que les faciliten las tareas de la institución ya sean de
inscripción de Alumnos, de materias y otros. Esta es la razón por la que como grupo de
investigación se ha optado por beneficiar al Centro Escolar Doctora Enrique Menéndez,
con el desarrollo de un Diseño de sistema automatizado que controle entradas y
salidas de alimentos.
Los beneficios que tendrá el Centro Escolar con la implementación del programa a
desarrollar serán ahorro de tiempo en guardar la información de las entradas de
alimentos y salidas de los mismos, como también el control de los alumnos que están
consumiendo los alimentos y los que no lo consumen y porque no los consumen, el
programa tendrá una opción de sacar la suma de los alumnos/as que han consumido
los alimentos durante la semana y mensualmente.
6
ALCANCES
El Centro Escolar Doctora Enrique Menéndez es una institución educativa que brinda el
servicio de educación básica, dicha institución ha tomado la decisión de crear un
aplicación para mejorar el control de los alimentos que el gobiernos les brinda para sus
estudiantes.
Con la aplicación se pretende optimizar el tiempo en la realización de
inventarios de los alimentos en existencias.
Mostrar informes bien detallados de las salidas y entradas de alimentos que se
realizan.
Facilitar el acceso a la información del manejo de dichos alimentos tanto para
cualquier docente así como los padres.
7
LIMITACIONES
Capacitación del personal en el uso de la aplicación.
Iniciar desde cero en la creación de dicha aplicación ya que no se cuenta con
una base o con una aplicación creada con anterioridad para este proceso.
8
METODOLOGIA A USAR
“MODELO DE DESARROLLO INCREMENTAL”
Definición.
Incremental: Es una aproximación muy parecida a la evolutiva. En este modelo se
desarrolla el sistema para satisfacer un subconjunto de los requisitos especificados y
en posteriores versiones se incrementa el programa con nuevas funcionalidades que
satisfagan más requisitos.
En el caso del modelo evolutivo se desarrollaría una nueva versión de todo el sistema,
en el incremental se parte de la versión anterior sin cambios y le añadimos las nuevas
funciones.
Desarrollo Incremental
La propuesta mediante el grupo de investigación de elegir el Modelo de Desarrollo
Incremental es porque en este se diseñan sistemas que puedan entregarse por piezas
o partes funcionales ya que cada parte implementada puede ser presentada al cliente
como un avances del proyecto y a si se puede reutilizar partes de la primera pieza ya
en función para la siguiente etapa del desarrollo del sistema:
Permite construir el proyecto en etapas incrementales en donde cada etapa
agrega funcionalidad.
Cada etapa consiste de requerimientos, diseño, codificación, pruebas, y
entrega.
Permite entregar al cliente un producto más rápido en comparación del modelo
de cascada.
Reduce los riesgos ya que:
Provee visibilidad sobre el progreso a través de sus nuevas versiones.
Provee retroalimentación a través de la funcionalidad mostrada.
Permite atacar los mayores riesgos desde el inicio.
Se pueden hacer implementaciones parciales si se cuenta con la suficiente
funcionalidad.
Las pruebas y la integración es constante.
9
El progreso se puede medir en periodos cortos de tiempo.
Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.
Se puede planear en base a la funcionalidad que se quiere entregar primero.
Por su versatilidad requiere de una planeación cuidadosa tanto a nivel
administrativo como técnico.
VENTAJAS:
La solución se va mejorando en forma progresiva a través de las múltiples
iteraciones.
Incrementa el entendimiento del problema y de la solución por medio de los
refinamientos sucesivos.
DESVENTAJAS:
La solución se va mejorando en forma progresiva a través de las múltiples
iteraciones.
Incrementa el entendimiento del problema y de la solución por medio de los
refinamientos sucesivos.
Requiere de mucha planeación, tanto administrativa como técnica.
Requiere de metas claras para conocer el estado del proyecto.
10
MARCO TEORICO
PHP5
El motivo de utilizar el lenguaje de programación PHP es por su característica de ser un
Software libre de uso y modificado también y distribución y mejorar que son sus cuatro
libertades del software libre, lo cual también este software es muy utilizado en muchas
empresas, se puede mencionar a cerca de que este programa es compatible con los
software de programación como lo es C y PERL que les permite a la mayoría de
programadores realizar sistemas complejos, otras de sus características por la cual sea
elegido usar PHP es porque se puede utilizar en casi todas las plataformas como lo es
Ubunto, Debian, Windos y otras plataformas más.
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente
PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por en 1994; sin
embargo la implementación principal de Rasmus Lerdorf The PHP es producida ahora
por The PHP Group y sirve como el estándar de facto para PHP al no haber una
especificación formal. Publicado bajo la PHP License, la Free Software Foundation
considera esta licencia como software libre.
El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada crear aplicaciones complejas con una curva de aprendizaje muy corta.
También les permite involucrarse con aplicaciones de contenido dinámico sin tener
que aprender todo un nuevo grupo de funciones.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas
operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en
más de 20 millones de sitios web y en un millón de servidores, el número de sitios en
PHP ha compartido algo de su preponderante dominio con otros nuevos lenguajes no
tan poderosos desde agosto de 2005. El sitio web de Wikipedia está desarrollado en
PHP. Es también el módulo Apache más popular entre las computadoras que utilizan
Apache como servidor web.
11
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend
Engine 2). Incluye todas las ventajas que provee el nuevo Zend Engine 2 como:
Mejor soporte para la programación orientada a objetos, que en versiones
anteriores era extremadamente rudimentario.
Mejoras de rendimiento.
Mejor soporte para MYSQL con extensión completamente reescrita.
Mejor soporte a XML (XPath, DOM, etc.).
Soporte nativo para SQLite.
Soporte integrado SOAP de datos.
Iteradores de datos.
Mejoras con la implementación con manejo de excepciones.
Mejoras con la implementación con Oracle.
La razón de utilizar XAMPP es por la facilidad de poder adquirirlo de modo free (Libre)
ya que su licencia es Open Source, con este se pretende hacer la creación de las Bases
de Datos en MYSQL y el servidor Web Apache; facilitara la conexión al servidor Firexos
10.0.2 para que el intérprete pueda ejecutar los script de PHP y se tengan los
resultados del sistema que se ejecuta.
DEFINICIÓN DE XAMPP
XAMPP es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes
para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para
cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El
programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil
de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible
para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
12
DIA Conceptos. Dia es una aplicación libre y de general. Código abierto parte el proyecto GNOME que
permite crear diagramas de propósito.
Dia es una aplicación informática de propósito general para la creación de diagramas,
desarrollada como parte del proyecto GNOME Está concebido de forma modular, con
diferentes paquetes de formas para diferentes necesidades.
Fue creado originalmente por Alexander Larsson.
Características de Dia
Está concebido de forma modular, con diferentes paquetes de formas para
diferentes necesidades.
Puede emplearse para dibujar diferentes tipos de diagram como diagrama de
entidad relaciones de UML, de Flujo, de Redes, de Rircuitos electrónicos, etc.
Permite agregar nuevas formas o componentes para diagramas, empleando
archivos SVG.
Almacena los diagramas en formato XML (comprimidos en ZIP). También puede
emplear scripts usando lenguaje de programación Python.
Guarda o exporta diagramas en formatos como EPS, SVG, PNG, DXF (de
Autocad), CGM (Computer Graphics Metafile, descrito en estándares ISO),
WMF (Windows Meta File), JPEG y VDX (de Microsoft Visio Drawing).
MICROSOFT VISIO
13
Microsoft Visio es un software de dibujo vectorial para Microsoft Windows Visio comenzó a formar parte de los productos de Microsoft cuando fue adquirida la compañía Visio en el año 2000.
Las herramientas que lo componen permiten realizar diagramas de oficinas, diagramas de Bases de Datos diagramas de flujo de programas, UML, y más, que permiten iniciar al usuario en los lenguajes de programación.
Aunque originalmente apuntaba a ser una aplicación para dibujo técnico para el
campo de Ingeniería y Arquitectura; con añadidos para desarrollar diagramas de
negocios, su adquisición por Microsoft implicó drásticos cambios de directrices de tal
forma que a partir de la versión de Visio para Microsoft Office 2003 el desarrollo de
diagramas para negocios pasó de añadido a ser el núcleo central de negocio,
minimizando las funciones para desarrollo de planos de Ingeniería y Arquitectura que
se habían mantenido como principales hasta antes de la compra. Una prueba de ello es
la desaparición de la función "property line" tan útil para trabajos de agrimensura y
localización de puntos por radiación, así como el suprimir la característica de ghost
shape que facilitaba la ubicación de los objetos en dibujos técnicos. Al parecer
Microsoft decidió que el futuro del programa residía en el mundo corporativo de los
negocios y no en las mesas de dibujo de Arquitectos e Ingenieros compitiendo con
productos como Autocad DesignCad, Microstation, etc.
14
DATOS INSTITUCION
12620
Nombre de la institución:
Centro Escolar Doctor Enrique Magaña Menéndez
Departamento:
Usulután
Municipio:
Jucuaran
Código:
26275026
Dirección:
Final calle Barahona barrió la parroquia Jucuaran Usulután
MISION
Somos un centro educativo público que cuenta con un personal docente eficiente y capaz de fortalecer valores morales y éticos de los estudiantes para una educación inclusiva formando los cimientos.
VISION
Ser una institución con proyección tecnológica forjadora de valores y comprometidos con la comunidad con una enseñanza de calidad.
DEFINICION DE LA POBLACION
Niñas = 790
Niños = 740
Población total de estudiantes = 1530
Docentes = 30
Director = 1
15
PROPUESTAS
Primera propuesta (Alternativa software propietario).
Elaborar una aplicación desarrollada en Visual Basic.net con una base de datos
elaborada en SQLServer esta propuesta hará incurrir en gasta alas institución ya que
tendrá que realizar la compran de las licencias de VB.net como también de SQLServer.
Esta propuesta es factible de realizar ya que la institución en tu totalidad cuenta con el
sistema operativo Windows así que no había problemas de incompatibilidad.
Segunda propuesta (Alternativa software propietario y libre).
En esta se realizaría un aplicación bajo un entorno web pero con enfoque privativo
utilizando lo que es la alternativa de ASP.net y una base de datos de uso libre como lo
es MYSQL en esta propuesta se realizara un gasto menor ya que solo se deberá recurrir
a la comprar de una licencia de utilización para el lenguaje de programación ASP.net
debido a que el gestor de base de datos MYSQL es de tipo libre y no se necesita
comprar una licencia para su utilización.
Esta propuesta es mas amigable para es usuario debido a que se manejara en un
entorno web que es mas conocido y aceptable para las personas que utilicen la
aplicación.
Y se ha optado por utilizar como servidor web el Apache ya que es libre y será
instalado de forma local para que sea más accesible y manejable desde distintas
computadoras en la red local de la institución.
Tercera propuesta (Alternativa Software libre).
Es esta opción utilizaremos herramientas libres para la elaboración de la aplicación en
lenguaje de programación seria PHP ya que siempre seria enfocándonos en el entorno
web como el gestor de base de datos seria utilizado MYSQL y para montar el servidor
web local utilizaríamos lo que es APACHE SERVER.
Y un software libre que nos agrupa las 3 aplicaciones que necesitaremos para la
creación de la aplicación es XAMPP que es totalmente libre y nos facilita la
implementación del servidor web.
16
SOLUCION
De acuerdo a las alternativas planteadas la opción mas viable es la tercera que se base
en la utilización de software libre ya que no hará incurrir en gastos a la institución en la
creación de la aplicación no obstante estoy no incluye los gastos por creación que
cobrar el programador ya que estos están fijos en cualquiera que hubiera sido la
opción.
Se determinó esta opción debido a los mínimos gastos a incurrir y también la
compatibilidad y accesibilidad de la aplicación al crearla en un entorno web más que
todo por el hecho de que será utilizada por diferentes usuarios en la institución.
17
FASE DE ANÁLISIS DE SISTEMAS
ESTUDIO DE FACTIBILIDAD
Factibilidad Técnica:
Desde el punto de vista técnico, para la realización del proyecto son necesarios
algunos recursos tecnológicos entre ellos los siguientes.
MYSQL.
Servidor APACHE.
PHP5.
Computadora en que estará instalada la aplicación.
PHP Maker.
Capacitación del personal de la institución (para el manejo y utilización de la
aplicación).
Para el desarrollo del proyecto no incurrir en gastos a la institución debido a que los
recursos tecnológicos necesarios para la implementación de la aplicación son de tipo
libres y que no se necesita pagar una licencia para utilizarlos.
Facilitaremos el trabajo utilizando la aplicación conocida como XAMPP ya que esta
contiene lo que es MYSQL, un servidor APACHE y un compilador de lenguaje PHP5.
El PHP Maker es una aplicación que es muy utilizar para la creación de App en el
entorno PHP haciéndolas más atractivas y dinámicas.
18
Factibilidad Financiera:
En cuanto a los recursos hardware a utilizar, se cuentan:
Dispositivos Cantidad Precio Unitario Subtotal
Computadora 1 $ 500.00 $ 0.00
Capacitación del personal de la
institución
1 $ 200.00 $ 200.00
Precio de la aplicación a
realizar
1 $ 800.00 $ 800.00
Total $ 1500.00
En cuanto al software:
Software/ Licencia Cantidad Precio(1) Subtotal
MYSQL 1 $ 0.00 $ 0.00
Servidor APACHE 1 $ 0.00 $ 0.00
PHP5 1 $ 0.00 $ 0.00
PHP Maker 1 $ 0.00 $ 0.00
Total $ 0.00
La elaboración de dicha aplicación no incurrirá en gastos en cuanto a software debido
a que estos serán de tipo libre lo cual no necesita ningún pago de licencias.
Y en lo requisitos de hardware como lo es la computadora se incluyen en los gastos
pero esta no se necesitara comprar una ya que la institución posee una designada para
la implementación del proyecto.
19
Factibilidad Operativa
Para llevar a cabo éste proyecto el ambiente tanto de la institución como del lugar
donde estará ubicada la aplicación es idóneo para su realización además la institución
cuenta con el equipo el único inconveniente en la operatividad es la capacitación del
personal.
Para esto se ha solicitado a director su colaboración en este sentido y se cuenta con la
motivación y la disponibilidad del personal para su capacitación y entender por
completo el manejo y utilización de la aplicación.
También se necesitara su ayuda en cuanto a la obtención de la información en cuanto
a todo lo relacionado al manejo y tratamiento que le dan a los datos actualmente para
así comprender el proceso y como debe optimizarlo la aplicación que se creara.
20
ANALISIS DE REQUERIMIENTOS
REQUERIMIENTOS DEL USUARIO:
- Registrar las entradas y salidas de alimentos.
- Registrar que alumnos/as ingieren sus alimentos.
- Imprimir informe de cuantos alumnos han consumido los alimentos tanto semanal
como mensualmente.
- Impresión de inventario general de existencias. - Impresión de salidas y entradas de existencias semanales como mensuales.
REQUERIMIENTOS DEL SISTEMA:
- Validación de usuario para uso de la aplicación.
- Identificar grupos de usuarios de acuerdo a sus cargos.
- Delimitar jerarquías de usuarios para tener un mejor control de la información y
permisos.
- Impresiones de informes bajo filtros específicos.
- Colocar opción de consulta para poder manejar de mejor forma la impresión de
informes.
21
DIAGRAMAS DE CONTEXTO
22
DIAGRAMAS DE FLUJO DE DATOS
23
24
25
DIAGRAMAS DE CASO DE USOS
26
CASO 1
1.1.1 Seguridad
1.1.5 Imprimir
1.1.2 Crear
Usuario
1.1.3 Editar
Usuario
1.1.4 Cambiar
Contraseña
<<extensión>> <<extensión>>
<<
exte
nsió
n>
>1.1.6 Eliminar
Usuario
<<extensión>>
<<Include>>
2.1.1 llenar
formulario 2.1.2 Control de
Asistencia Y
consumo
2.1.4 Borrar
2.1.6 Imprimir
2.1.3 Guardar
2.1.5 Inicio
<<extensión>>
<<
Inclu
de
>>
<<Include>>
<<
exte
nsió
n>
>
<<extension>>
CASO 2
27
CASO 3
3.1.1 Control de
bodega
3.1.2 Inventario 3.1.3 Guardar3.1.4 Limpiar
3.1.4 Inicio 3.1.7 Estado
Actual
<<
exte
nsió
n>
>
<<Extensión>>
<<Include>> <<Include>>
<<extensión>>
CASO 4
4.1.1 Informe
Mensual
4.1.3 Crear
Informe
4.1.6 Imprimir
4.1.5 Inicio
4.1.2 Enviar
Informe
4.1.4 Inventario
actual
<<Include>>
<<
exte
nsió
n>
>
<<extensión>>
<<exte
nsió
n>>
<<ex
tens
ión>
>
28
DIAGRAMAS DE ACTIVIDAD
29
30
DISEÑO DEL SISTEMA
DISEÑO LOGICO DE LA BASE DE DATOS
MODELO ENTIDAD – RELACION
31
DICCIONARIO DE DATOS
Diagrama de caso de uso con su Diccionario de datos.
Diagrama de caso de uso 1,”módulo de seguridad” y su Diccionario de datos.
Versión 1.0 Fecha 08-06-2012 Creado por: Darwin - Oscar
Descripción Caso de Uso de seguridad del sistema.
Actor Administrador.
Precondiciones: Ingresar el Usuario y la Contraseña.
Pos-condiciones Registro del Usuario. Registro con éxito.
Este Usuario no existe. Favor registrarse.
Escenario 1-El actor selecciona la opción cambiar contraseña.
principal. 2-El sistema muestra las operaciones a realizar en el cambio de la contraseña.
3-Cambiar la clave del usuario.
Ingresar la contraseña antigua.
Ingresar nueva contraseña.
Ingresar nuevamente la contraseña.
Verificar que la contraseña sea la mista.
El actor da clic en el botón aceptar.
Volver al caso de uso 1.1.1
4-El sistema muestra un mensaje la contraseña ha sido cambiada.
32
5-El actor selecciona el botón salir del módulo de seguridad.
Diagrama de caso de uso con su Diccionario de datos.
Diagrama de caso de uso 2,”Control de Asistencia y Consumo” y su diccionario de
datos.
Versión 1.0 Fecha 08-06-2012 Creado por: Darwin – Oscar
Descripción Caso de Uso para el control de asistencia y consumo de alimentos en el C.E.EMM
Actor Docente.
Precondiciones: este control ya contiene datos almacenados.
Pos-condiciones Éxito: Presenta el listado de control. Error: El listado no se puede mostrar
Éxito: Modificar listado de control. Error: no se puede modificar.
Escenario 1-El actor selecciona un nuevo control de asistencia y consumo.
principal. 2-El sistema abre un nuevo control.
3-El actor cierra nuevo control.
Guardar.
Modificar.
Eliminar.
33
Diagrama de caso de uso con su Diccionario de datos.
Diagrama de caso de uso 3,”Control de Bodega” y su Diccionario de datos.
Versión 1.0 Fecha 08-06-2012 Creado por: Darwin y Oscar
Descripción Caso de uso, en el que se describe el control de bodega de entradas y salidas de
los alimentos en el C.E.EMM.
Actores Docentes.
Precondiciones: El docente selecciona guardar inventario del control de bodega.
Postcondiciones: Éxito: se presentan los archivos del Error: los archivos del inventario
Inventario a guardar. No se pueden guardar.
Escenario 3a. El actor elimina el nuevo control.
Segundario. 3a. El sistema presenta, desea eliminar el archivo.
4a. El actor selecciona eliminar archivo.
5a. volver al caso de uso 2.1.2
34
Escenario 1-El usuario o actor selecciona la operación inventario.
Principal. 2-El sistema presenta los datos almacenados en el inventario.
Y todas las operaciones de filtrado:
Inventario guardado.
Fecha al guardar el Inventario.
Fecha de modificación del inventario.
3-El actor editar el inventario.
4- Guardar inventario.
5-Vuelve al control de bodega.
Escenario 4a. Error al guardar inventario.
alternativo. 4a. Intente guardar nuevamente el inventario.
4a. el inventario se guardó correctamente.
4a. Volver al control de bodega, caso de uso 3.1.1
35
Diagrama de caso de uso con su Diccionario de datos.
Diagrama de caso de uso 4, ”Informe Mensual” y su Diccionario de datos.
Versión 1.0 Fecha 08-06-2012 Creado por: Darwin - Oscar
Descripción Caso de Uso en el que se describe el informe mensual.
Actor Director/a.
Precondiciones: El actor guarda el informen mensual.
Pos-condiciones Éxito: El informe ha sido guardado. Fracaso: El informen o se guardó.
Éxito: Al revisar el informe mensual. Fracaso: El informe no existe.
Escenario 1-El actor envía informe mensual.
principal. 2-El sistema devuelve un mensaje “archivo enviado”.
3-El actor verifica el mensaje en “enviados”
4-El sistema no hay mensajes enviados.
Escenario 2a-El sistema devuelve un mensaje “no se puede enviar”.
secuandario. 2a-El sistema el archivo esta fallido.
3a-El archivo ha sido enviado
36
CONCLUSION
El presente trabajo a tenido como finalidad que los estudiantes aprendan y
comprendan los procedimientos, métodos para la elaboración y creación de un
aplicación y como siguiendo las etapas ya pre establecidas de alguna
metodología ayuda a mejorar la creación de un proyecto así como también
facilidad la obtención de la satisfacción del cliente con el producto terminado
ya que hay métodos para todo tipo de aplicaciones y que se enfocan en áreas
especificas.
37
ANEXOS
FORMULARIOS DE ENTRADA Y SALIDA DE ALIMENTOS EN EL CENTRO
ESCOLAR DOCTORA ENRIQUE MENENDEZ.
LUGAR DEL CENTRO ESCOLAR TIERRA BLANCA.
CONTROL DE ASISTENCIA Y CONSUMO
Sección Grado.
Sección integrada: SI NO
Mes de reporte. Año de reporte.
Asistencia y consumo
Número de días lectivos en el mes de reporte:
Número de días con refrigerio en el mes de reporte:
Matricula al inicio del mes de reporte: niños niñas
Promedio de asistencia de los días lectivos del mes de reporte. niños niñas
Promedio de estudiantes que no consumieron el refrigerio los días
de servicio del mes de reporte.
niños niñas
Razones de no servicio del refrigerio escolar
Falta de quipo de cocina.
Falta de insumos complementarios para
la preparación.
No asistió la madre voluntaria o cocinar.
No estaba el director o profesor
encargado de entregar los alimentos.
Por reunión de docentes u otras
actividades de la escuela.
Falta de agua.
Falta de organización de madres y
padres de familias.
Festividad.
Se terminó el alimento.´
Otros, especifique.
38
Razones del no consumo del refrigerio escolar.
A los niños no les gusta el refrigerio.
Los niños llegan desayunados o
almorzados.
Los niños prefieren comprar en el cafetín
del C.E.
Los niños llevan su propio refrigerio.
Fecha de Entrega al Director del C.E.
Nombre del docente. Firma:
Nombre del representante
de la comunidad.
Firma:
CONTROL DE BODEGA
Nombre del
C.E:
Código del C.E.
Municipio:
Mes de reporte:
Kilogramos Libras
Movimientos de alimentos durante el mes de reporte
Alimentos
Total ingresos.
Total egresos por deterioro.
Total egresos por robo/hurto.
Total egresos por pérdidas
durante transporte desde el
A los niños no les dan el refrigerio
porque sus padres no aportan.
Los niños no lleva utensilios para
que les sirvan.
Se terminó el alimento.
Otros, especifique:
Departamento:
Año de reporte:
39
centro de distribución.
Total egresos por otras sazones
Agregar copia de los documentos justificativos.
Inventario físico final del mes de reporte en bodega del C.E.
Fecha de Entrega al Director del C.E.
Nombre del docente. Firma:
Nombre del representante
de la comunidad.
Firma:
INFORMACION MENSUAL
Nombre del
C.E:
Código del C.E.
Municipio:
Mes de reporte:
Sección Grado TURNO
Número
de días
lectivos
en el
mes de
reporte.
Número
de días
con
refrigerio
en el
mes de
reporte.
Matricula
al inicio
del mes
de
reporte.
Promedio de asistencia
los días lectivos del
mes de reporte.
Promedio de
estudiantes que no
onsumieron el
refrigerio los días de
servicio.
niños niñas niños niñas Niños niñas
arroz
Frijol Azúcar Aceite Leche
Bebida
fortificante
Departamento:
Año de reporte:
40
Razones de no servicio.
Falta de equipo de cocina. Falta de agua.
Falta de insumos complementarios para la
preparación.
Falta de orientación de madres de
familia.
No asistió la madre voluntaria o cocinera. Festividad.
No estaba el director o profesor encargado
de entregar los alimentos. Se terminó el alimento.
Por reunión de docentes u otras
actividades de la escuela. otros, especifique:
Razones de no consumo.
A los niños no les gusta el refrigerio Falta de agua.
Los niños llegan desayunados o
almorzados.
Los niños no llevan utensilios para
que les sirvan
No asistió la madre voluntaria o cocinera. Festividad.
Los niños llevan su propio refrigerio. Otros, especifique:
Unidad de medida. Kilogramos Libras
Movimientos de refrigerios del mes.
Alimentos. Arroz Frijol Azúcar Aceite Leche
bebida
fortificada
Total ingresos.
Total egresos por deterioro.
Total de egresos por robo/hurto.
Total egresos por otras razones.
Inventario físico final del mes de reporte en bodega del C.E.
Falla de transmisión a la jefatura del PASE (aplicación informática) o al asistente
técnico departamental de programa (en formato de papel):
Nombre del director del C.E:
arroz
Frijol Azúcar Aceite Leche
Bebida
fortificante
41
CUESTIONARIO Y GUÍA DE ENTREVISTA
1- ¿Qué herramientas usan para llevar el control de los
alimentos?
Calculadora y formularios pre-diseñaos
2- ¿Cómo hacen la recopilación de datos?
Los docentes recopilan la información con ayuda de los
alumnos, y al final entregan el reporte mensual.
3- ¿Cuántas personas se encargan de recopilar los datos?
Doce docentes, con igual cantidad de alumnos. Pues cada
docente elije un alumno para que le ayude a realizar esta
actividad.
4- Poseen computadoras en el centro escolar.
Si posee una computadora.
5- Cuantas computadoras tienen.
Una computadora funcionando, y que no funcionan.
6- Utilizan software para elaborar el reporte final.
No, se elaboran por formato manuscrito.
7- Que software utilizan.
No se utiliza ninguno.
42
8- ¿Cual método utilizan para control del inventario de
bodega?
Se utiliza el método PEPS.
9- Tiene personal con capacidad para llevar un control de
alimentos mediante un software y administrarlo en caso
que sea necesario.
Se cuenta con personal capaz de administrar este
software suponiendo que será un software fácil de usar.
10- Estaría dispuesto a capacitar su personal para aplicar
este software.
En caso que lo fuere necesario si.
11- Cada cuanto tiempo elaboran los reportes.
Cada mes se elabora el reporte consolidado y se envía vía
internet
12- Quienes son los encargados de elaborar los reportes.
La directora del Centro Escolar elabora el reporte
13- El centro escolar cuenta con la red de internet.
No se tiene este servicio
INFORMACIÓN RECOLECTADO MEDIANTE LA ENTREVISTA
43
- El control de alimentación se lleva diario, elaborando un informe mensual que
se envía al ministerio de educación, el encargado de enviar este reporte es el
director/a
- El centro escolar Doctor Henrique Magaña Menéndez hasta esta fecha ha
llevado el control de alimentación escolar mediante formularios creados en
excel y Word. Elaborando el reporte mensual con la ayuda de calculadoras y
herramientas que le facilitan elaborar este reporte manualmente.
- La forma de realizar la recopilación de la información la hacen por medio de los
docentes ellos recopilan la información sobre el consumo diario de alimentos.
- Este centro escolar posee solamente una computadora para aplicar este
software.
- El método que utilizan para llevar el control de inventario es el método PEPS
(primero en entra primero en salir)
- El centro escolar no cuenta con la red de internet.
REGLAS DE CÁLCULO
- Promedio de asistencia, los días lectivos del mes de reporte.
= número de alumnos del D1+D2+D3+Dn entre Numero de días lectivos del
mes.
O sea así PADL=D1+D2+D3+Dn/NDL
- Total de Numero de días lectivos del mes de reporte
=DL1+DL2*DL3+DLn
- Numero de días lectivos con refrigerio del mes de reporte.
=DLR1+DLR2+DLR3+DLRn
CÁLCULOS EN BODEGA APLICANDO EL MÉTODO PEPS
Total de alimentos = total de alimentos entrantes – total de alimentos
consumidos
TA=TAE-TAC
44
MANUAL DEL PROGRAMADOR
Manual del código de las bases de datos.
CREATE TABLE asistencia_consumo (
idasistencia_consumo INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
n_diaslectivos_mes INTEGER UNSIGNED NULL,
n_dias_refrigerio_mes INTEGER UNSIGNED NULL,
PRIMARY KEY(idasistencia_consumo, mes_idmes, mes_a_o_idano),
INDEX asistencia_consumo_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE a_o (
idano INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
a_o INTEGER UNSIGNED NULL,
PRIMARY KEY(idano)
);
CREATE TABLE centro_escolar (
idcentro_escolar INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
municipio_departamento_iddepartamento INTEGER UNSIGNED NOT NULL,
municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
codigo VARCHAR(20) NULL,
PRIMARY KEY(idcentro_escolar, municipio_departamento_iddepartamento,
municipio_idmunicipio),
45
INDEX centro_escolar_FKIndex1(municipio_idmunicipio,
municipio_departamento_iddepartamento)
);
CREATE TABLE departamento (
iddepartamento INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nombre VARCHAR(45) NULL,
PRIMARY KEY(iddepartamento)
);
CREATE TABLE director (
iddirector INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
centro_escolar_idcentro_escolar INTEGER UNSIGNED NOT NULL,
centro_escolar_municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
centro_escolar_municipio_departamento_iddepartamento INTEGER UNSIGNED NOT
NULL,
nombre VARCHAR(45) NULL,
PRIMARY KEY(iddirector, centro_escolar_idcentro_escolar,
centro_escolar_municipio_idmunicipio,
centro_escolar_municipio_departamento_iddepartamento),
INDEX director_FKIndex1(centro_escolar_idcentro_escolar,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_municipio_idmunicipio)
);
CREATE TABLE docente (
iddocente INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
centro_escolar_idcentro_escolar INTEGER UNSIGNED NOT NULL,
46
centro_escolar_municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
centro_escolar_municipio_departamento_iddepartamento INTEGER UNSIGNED NOT
NULL,
nombre VARCHAR(45) NULL,
PRIMARY KEY(iddocente, centro_escolar_idcentro_escolar,
centro_escolar_municipio_idmunicipio,
centro_escolar_municipio_departamento_iddepartamento),
INDEX docente_FKIndex1(centro_escolar_idcentro_escolar,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_municipio_idmunicipio)
);
CREATE TABLE egreso (
idegreso INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Usuario_idUsuario INTEGER UNSIGNED NOT NULL,
producto_Usuario_idUsuario INTEGER UNSIGNED NOT NULL,
producto_tipoproducto_idtipoproducto INTEGER UNSIGNED NOT NULL,
producto_unidademedida_idunidademedida INTEGER UNSIGNED NOT NULL,
producto_producto INTEGER UNSIGNED NOT NULL,
rozon_egresos_idrozonegresos INTEGER UNSIGNED NOT NULL,
producto_inventario_idinventario INTEGER UNSIGNED NOT NULL,
inventario_idinventario INTEGER UNSIGNED NOT NULL,
Usuario_inventario_idinventario INTEGER UNSIGNED NOT NULL,
producto_Usuario_inventario_idinventario INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
descripcion VARCHAR(255) NULL,
cantidad INTEGER UNSIGNED NULL,
47
fecha DATE NULL,
total INTEGER UNSIGNED NULL,
PRIMARY KEY(idegreso, Usuario_idUsuario, producto_Usuario_idUsuario,
producto_tipoproducto_idtipoproducto, producto_unidademedida_idunidademedida,
producto_producto, rozon_egresos_idrozonegresos,
producto_inventario_idinventario, inventario_idinventario,
Usuario_inventario_idinventario, producto_Usuario_inventario_idinventario),
INDEX egreso_FKIndex1(Usuario_idUsuario, Usuario_inventario_idinventario),
INDEX egreso_FKIndex2(producto_producto,
producto_unidademedida_idunidademedida, producto_tipoproducto_idtipoproducto,
producto_Usuario_idUsuario, producto_inventario_idinventario,
producto_Usuario_inventario_idinventario),
INDEX egreso_FKIndex3(rozon_egresos_idrozonegresos),
INDEX egreso_FKIndex4(inventario_idinventario)
);
CREATE TABLE fecha_entrega_director (
idfecha_entrega INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
fecha DATE NULL,
PRIMARY KEY(idfecha_entrega, mes_idmes, mes_a_o_idano),
INDEX fecha_entrega_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE f_i_f_m_r (
idf_i_f_m_r INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
48
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
fecha DATE NULL,
PRIMARY KEY(idf_i_f_m_r, mes_idmes, mes_a_o_idano),
INDEX f_i_f_m_r_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE f_t_je_pase (
idf_t_je_pase INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
fecha DATE NULL,
PRIMARY KEY(idf_t_je_pase, mes_idmes, mes_a_o_idano),
INDEX f_t_je_pase_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE grado (
idgrado INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nombre VARCHAR(45) NULL,
PRIMARY KEY(idgrado)
);
CREATE TABLE ingreso (
ingreso INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
producto_tipoproducto_idtipoproducto INTEGER UNSIGNED NOT NULL,
producto_unidademedida_idunidademedida INTEGER UNSIGNED NOT NULL,
49
producto_producto INTEGER UNSIGNED NOT NULL,
Usuario_idUsuario INTEGER UNSIGNED NOT NULL,
producto_Usuario_idUsuario INTEGER UNSIGNED NOT NULL,
inventario_idinventario INTEGER UNSIGNED NOT NULL,
producto_inventario_idinventario INTEGER UNSIGNED NOT NULL,
Usuario_inventario_idinventario INTEGER UNSIGNED NOT NULL,
producto_Usuario_inventario_idinventario INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
descricion VARCHAR(255) NULL,
cantidad INTEGER UNSIGNED NULL,
fecha DATE NULL,
total INTEGER UNSIGNED NULL,
PRIMARY KEY(ingreso, producto_tipoproducto_idtipoproducto,
producto_unidademedida_idunidademedida, producto_producto, Usuario_idUsuario,
producto_Usuario_idUsuario, inventario_idinventario,
producto_inventario_idinventario, Usuario_inventario_idinventario,
producto_Usuario_inventario_idinventario),
INDEX ingreso_FKIndex1(producto_producto,
producto_unidademedida_idunidademedida, producto_tipoproducto_idtipoproducto,
producto_Usuario_idUsuario, producto_inventario_idinventario,
producto_Usuario_inventario_idinventario),
INDEX ingreso_FKIndex2(Usuario_idUsuario, Usuario_inventario_idinventario),
INDEX ingreso_FKIndex3(inventario_idinventario)
);
CREATE TABLE inventario (
idinventario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
exixtencias VARCHAR(255) NULL,
50
total_ingresos VARCHAR(45) NULL,
total_egresos VARCHAR(45) NULL,
PRIMARY KEY(idinventario)
);
CREATE TABLE matriculames (
idmatriculames INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
ninos INTEGER UNSIGNED NULL,
ninas INTEGER UNSIGNED NULL,
PRIMARY KEY(idmatriculames, mes_idmes, mes_a_o_idano),
INDEX matriculames_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE mes (
idmes INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
a_o_idano INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
PRIMARY KEY(idmes, a_o_idano),
INDEX mes_FKIndex1(a_o_idano)
);
CREATE TABLE municipio (
idmunicipio INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
51
departamento_iddepartamento INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
PRIMARY KEY(idmunicipio, departamento_iddepartamento),
INDEX municipio_FKIndex1(departamento_iddepartamento)
);
CREATE TABLE producto (
producto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
unidademedida_idunidademedida INTEGER UNSIGNED NOT NULL,
tipoproducto_idtipoproducto INTEGER UNSIGNED NOT NULL,
Usuario_idUsuario INTEGER UNSIGNED NOT NULL,
inventario_idinventario INTEGER UNSIGNED NOT NULL,
Usuario_inventario_idinventario INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
descripcion VARCHAR(255) NULL,
cantidad INTEGER UNSIGNED NULL,
fecha DATE NULL,
total INTEGER UNSIGNED NULL,
PRIMARY KEY(producto, unidademedida_idunidademedida,
tipoproducto_idtipoproducto, Usuario_idUsuario, inventario_idinventario,
Usuario_inventario_idinventario),
INDEX producto_FKIndex1(unidademedida_idunidademedida),
INDEX producto_FKIndex2(tipoproducto_idtipoproducto),
INDEX producto_FKIndex3(Usuario_idUsuario, Usuario_inventario_idinventario),
INDEX producto_FKIndex4(inventario_idinventario)
);
52
CREATE TABLE p_a_d_l_m_r (
idp_a_d_l_m_r INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
ninos INTEGER UNSIGNED NULL,
ninas INTEGER UNSIGNED NULL,
PRIMARY KEY(idp_a_d_l_m_r, mes_idmes, mes_a_o_idano),
INDEX p_a_d_l_m_r_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE p_e_no_con (
idp_e_no_con INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
mes_idmes INTEGER UNSIGNED NOT NULL,
mes_a_o_idano INTEGER UNSIGNED NOT NULL,
ninos INTEGER UNSIGNED NULL,
ninas INTEGER UNSIGNED NULL,
PRIMARY KEY(idp_e_no_con, mes_idmes, mes_a_o_idano),
INDEX p_e_no_con_FKIndex1(mes_idmes, mes_a_o_idano)
);
CREATE TABLE razonnoconsumo (
idrazonnoconsumo INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
centro_escolar_municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
centro_escolar_municipio_departamento_iddepartamento INTEGER UNSIGNED NOT
NULL,
53
centro_escolar_idcentro_escolar INTEGER UNSIGNED NOT NULL,
descripcion VARCHAR(255) NULL,
PRIMARY KEY(idrazonnoconsumo, centro_escolar_municipio_idmunicipio,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_idcentro_escolar),
INDEX razonnoconsumo_FKIndex1(centro_escolar_idcentro_escolar,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_municipio_idmunicipio)
);
CREATE TABLE razonnosevicio (
idrazonnosevicio INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
centro_escolar_municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
centro_escolar_municipio_departamento_iddepartamento INTEGER UNSIGNED NOT
NULL,
centro_escolar_idcentro_escolar INTEGER UNSIGNED NOT NULL,
descripcion VARCHAR(255) NULL,
PRIMARY KEY(idrazonnosevicio, centro_escolar_municipio_idmunicipio,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_idcentro_escolar),
INDEX razonnosevicio_FKIndex1(centro_escolar_idcentro_escolar,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_municipio_idmunicipio)
);
CREATE TABLE represcomunidadeducativa (
idrepresentate INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
centro_escolar_municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
54
centro_escolar_municipio_departamento_iddepartamento INTEGER UNSIGNED NOT
NULL,
centro_escolar_idcentro_escolar INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
PRIMARY KEY(idrepresentate, centro_escolar_municipio_idmunicipio,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_idcentro_escolar),
INDEX represcomunidadeducativa_FKIndex1(centro_escolar_idcentro_escolar,
centro_escolar_municipio_departamento_iddepartamento,
centro_escolar_municipio_idmunicipio)
);
CREATE TABLE rozon_egresos (
idrozonegresos INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
descripcion VARCHAR(255) NULL,
PRIMARY KEY(idrozonegresos)
);
CREATE TABLE seccion (
idseccion INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
grado_idgrado INTEGER UNSIGNED NOT NULL,
docente_iddocente INTEGER UNSIGNED NOT NULL,
docente_centro_escolar_idcentro_escolar INTEGER UNSIGNED NOT NULL,
docente_centro_escolar_municipio_departamento_iddepartamento INTEGER
UNSIGNED NOT NULL,
docente_centro_escolar_municipio_idmunicipio INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(45) NULL,
tiposeccion VARCHAR(45) NULL,
55
PRIMARY KEY(idseccion, grado_idgrado, docente_iddocente,
docente_centro_escolar_idcentro_escolar,
docente_centro_escolar_municipio_departamento_iddepartamento,
docente_centro_escolar_municipio_idmunicipio),
INDEX seccion_FKIndex1(grado_idgrado),
INDEX seccion_FKIndex2(docente_iddocente,
docente_centro_escolar_idcentro_escolar,
docente_centro_escolar_municipio_idmunicipio,
docente_centro_escolar_municipio_departamento_iddepartamento)
);
CREATE TABLE tipoproducto (
idtipoproducto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nombre VARCHAR(45) NULL,
PRIMARY KEY(idtipoproducto)
);
CREATE TABLE unidademedida (
idunidademedida INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
unidadmedida VARCHAR(45) NULL,
PRIMARY KEY(idunidademedida)
);
CREATE TABLE Usuario (
idUsuario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
inventario_idinventario INTEGER UNSIGNED NOT NULL,
nombre VARCHAR(50) NULL,
apellido VARCHAR(50) NULL,
56
Telefono VARCHAR(10) NULL,
Usuario VARCHAR(30) NULL,
contrasena VARCHAR(30) NULL,
email VARCHAR(45) NULL,
PRIMARY KEY(idUsuario, inventario_idinventario),
INDEX Usuario_FKIndex1(inventario_idinventario)
);