SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
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.
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


                                                    1
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.




                                                                                   2
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.




                                                                                    3
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.




                                                                                       4
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.




                                                                                    5
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.




                                                                                      6
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.




                                                                                    7
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.
                                                                                    8
 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.




                                                                                  9
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.



                                                                                     10
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.

                                                                                    11
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

                                                                                        12
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.




                                                                                   13
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



                                                                                     14
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.


                                                                                       15
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.




                                                                                         16
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.




                                                                                    17
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            1           $ 200.00           $ 200.00
 institución

 Precio de la aplicación a                  1           $ 800.00           $ 800.00
 realizar

                                                                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.




                                                                                       18
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.




                                                                                     19
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.




                                                                                 20
DIAGRAMAS DE CONTEXTO




                        21
DIAGRAMAS DE FLUJO DE DATOS




                              22
23
24
DIAGRAMAS DE CASO DE USOS




                            25
CASO 1

                                             1.1.2 Crear
                                               Usuario




                                                 <<extensión>>
                 <<extensión>>                                                        <<extensión>>
1.1.4 Cambiar                            1.1.1 Seguridad                                                              1.1.3 Editar
 Contraseña                                                                                                             Usuario
                                            >>
                                      ión                                                                      e>
                                                                                                                 >
                                    ns                                                                     d
                            e   xte                                                                    clu
                          <<                                                                      <<In

                 1.1.6 Eliminar
                    Usuario                                                           1.1.5 Imprimir



                                                 CASO 2



                                                                 2.1.3 Guardar
                                                                       <<Include>>




                                                                                                                            2.1.4 Borrar

                                                                                                  clu   de>>
                                                                                             <<In

  2.1.1 llenar           <<extensión>>                           2.1.2 Control de
  formulario                                                       Asistencia Y
                                                                     consumo                      <<
                                                                                                    ex
                                                                                                         ten
                                                                                                               sio
                                                                                                                     n>
                                                                      <<extensión>>




                                                                                                                       >

                                                                                                                             2.1.5 Inicio




                                                                  2.1.6 Imprimir




                                                                                                                                     26
CASO 3


                                                     3.1.1 Control de
                                                         bodega




                                                              <<extensión>>
                     <<Include>>                                                             <<Include>>                    3.1.3 Guardar
3.1.4 Limpiar                                        3.1.2 Inventario




                                                                                     <<
                                                                                       ex
                                              >
                                            n>




                                                                                            te
                                      sió




                                                                                               n
                                ten




                                                                                              si
                             Ex




                                                                                                   ón
                           <<




                                                                                                     >>
                  3.1.4 Inicio                                                                3.1.7 Estado
                                                                                                 Actual




                                                   CASO 4


                                                     4.1.2 Enviar
                                                       Informe
                                                        <<extensión>>




                                                                                                                           4.1.3 Crear
                                                                                                                             Informe
                                                                                                                  >
                                                                                                                n>
 4.1.6 Imprimir                                                                                       n   sió
                      <<In
                           clu                                                                e   xte
                                 de>>                                                       <<
                                                      4.1.1 Informe
                                                        Mensual
                                                                              <<
                                              >>
                                            ón




                                                                                ex
                                        si




                                                                                ten
                                       n
                                    te
                                   ex




                                                                                     si ó
                                 <<




                                                                                      n>
                                                                                        >




                  4.1.5 Inicio                                                                                  4.1.4 Inventario
                                                                                                                     actual




                                                                                                                                   27
DIAGRAMAS DE ACTIVIDAD




                         28
29
DISEÑO DEL SISTEMA
DISEÑO LOGICO DE LA BASE DE DATOS
MODELO ENTIDAD – RELACION




                                    30
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.

                                                                                                    31
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.

                                                                                            32
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
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.



                                                                                           33
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




                                                                                34
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
                                                                                           35
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.




                                                                            36
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      niños        niñas
de servicio del mes de reporte.

Razones de no servicio del refrigerio escolar

Falta de quipo de cocina.                             Falta de agua.
Falta de insumos complementarios para                 Falta de organización de madres y
la preparación.                                       padres de familias.
No asistió la madre voluntaria o cocinar.             Festividad.
No estaba el director o profesor                      Se terminó el alimento.´
encargado de entregar los alimentos.
Por reunión de docentes u otras                       Otros, especifique.
actividades de la escuela.




                                                                                            37
Razones del no consumo del refrigerio                escolar.

A los niños no les gusta el refrigerio.                 A los niños no les dan el refrigerio
                                                        porque sus padres no aportan.
Los niños llegan desayunados o                          Los niños no lleva utensilios para
almorzados.                                             que les sirvan.
Los niños prefieren comprar en el cafetín               Se terminó el alimento.
del C.E.
Los niños llevan su propio refrigerio.                  Otros, especifique:



Fecha de Entrega al Director del C.E.

Nombre del docente.                                                        Firma:

Nombre del representante                                                   Firma:
de la comunidad.


                                          CONTROL DE BODEGA

Nombre del
C.E:

Código del C.E.

Municipio:                                          Departamento:

Mes de reporte:                                     Año 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

                                                                                               38
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.


                                                                                                              Bebida
arroz             Frijol                  Azúcar                  Aceite             Leche                    fortificante




Fecha de Entrega al Director del C.E.


Nombre del docente.                                                                      Firma:

Nombre del representante                                                                 Firma:
de la comunidad.


                                        INFORMACION MENSUAL

Nombre del
C.E:

Código del C.E.

Municipio:                                                 Departamento:

Mes de reporte:                                            Año de reporte:


                                 Número
                      Número     de días                                                          Promedio de
                      de días    con          Matricula                                           estudiantes que no
                      lectivos   refrigerio   al inicio               Promedio de asistencia      onsumieron el
                      en el      en el        del mes                 los días lectivos del       refrigerio los días de
                      mes de     mes de       de                      mes de reporte.             servicio.
Sección Grado TURNO   reporte.   reporte.     reporte.
                                              niños       niñas       niños      niñas            Niños         niñas




                                                                                                                    39
Razones de no servicio.

Falta de equipo de cocina.                                Falta de agua.
Falta de insumos complementarios para la                  Falta de orientación de madres de
preparación.                                              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                            Los niños no llevan utensilios para
almorzados.                                               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.

                                                                                                              bebida
Alimentos.                              Arroz         Frijol      Azúcar        Aceite         Leche          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.


                                                                                               Bebida
arroz             Frijol             Azúcar            Aceite              Leche               fortificante




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:



                                                                                                   40
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.



                                                            41
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

                                                             42
-   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

                                                                                 43
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),



                                                                        44
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,
                                                                         45
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,

                                                                         46
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,

                                                                              47
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,


                                                                     48
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,

                                                                               49
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,


                                                            50
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)

);

                                                                                51
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,
                                                                         52
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,



                                                                         53
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,
                                                                            54
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,
                                                                55
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)

);




                                                    56

Más contenido relacionado

La actualidad más candente

diseno-plan-de-mantenimiento-AP09-AA10-EV-04.docx
diseno-plan-de-mantenimiento-AP09-AA10-EV-04.docxdiseno-plan-de-mantenimiento-AP09-AA10-EV-04.docx
diseno-plan-de-mantenimiento-AP09-AA10-EV-04.docxomarortega85
 
Diseño de entradas y salidas
Diseño de entradas y salidasDiseño de entradas y salidas
Diseño de entradas y salidasJoseOrtega02
 
Osorio alvarez neil_angelo sistema de matricula
Osorio alvarez neil_angelo sistema de matriculaOsorio alvarez neil_angelo sistema de matricula
Osorio alvarez neil_angelo sistema de matriculaRAUL CHIPANA LARICO
 
Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Abhay Ananda Shukla
 
PLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALESPLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALESPablo Ospina
 
Manual de usuario del sistema de registro academico y control de notas
Manual de usuario del sistema de registro academico y control de notasManual de usuario del sistema de registro academico y control de notas
Manual de usuario del sistema de registro academico y control de notasCecy Villalta
 
Preguntas profe angeles.entregar
Preguntas profe angeles.entregarPreguntas profe angeles.entregar
Preguntas profe angeles.entregarjcezarv
 
Reducir las filas de la cafeteria
Reducir las filas de la cafeteriaReducir las filas de la cafeteria
Reducir las filas de la cafeteriaDanielaVargas0
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
 
Ap1 aa3-ev2-informe de especificación de requerimientos.
Ap1 aa3-ev2-informe de especificación de requerimientos.Ap1 aa3-ev2-informe de especificación de requerimientos.
Ap1 aa3-ev2-informe de especificación de requerimientos.nay-censey
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´sDiego Silva Viera
 
Modelo de casos de uso 2ª versión
Modelo de casos de uso 2ª versiónModelo de casos de uso 2ª versión
Modelo de casos de uso 2ª versiónJose Torres Gonzales
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software481200601
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónNAHAMA19
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionAbner Gerardo
 
Diseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academicoDiseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academicoRAUL CHIPANA LARICO
 
Design of a prototype web based students’ record management system – webstrems
Design of a prototype web based students’ record management system – webstremsDesign of a prototype web based students’ record management system – webstrems
Design of a prototype web based students’ record management system – webstremsAlexander Decker
 

La actualidad más candente (20)

diseno-plan-de-mantenimiento-AP09-AA10-EV-04.docx
diseno-plan-de-mantenimiento-AP09-AA10-EV-04.docxdiseno-plan-de-mantenimiento-AP09-AA10-EV-04.docx
diseno-plan-de-mantenimiento-AP09-AA10-EV-04.docx
 
Diseño de entradas y salidas
Diseño de entradas y salidasDiseño de entradas y salidas
Diseño de entradas y salidas
 
Mapa mental BD y DBMS
Mapa mental BD y DBMSMapa mental BD y DBMS
Mapa mental BD y DBMS
 
Osorio alvarez neil_angelo sistema de matricula
Osorio alvarez neil_angelo sistema de matriculaOsorio alvarez neil_angelo sistema de matricula
Osorio alvarez neil_angelo sistema de matricula
 
Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Online Examination System in .NET & DB2
Online Examination System in .NET & DB2
 
PLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALESPLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALES
 
Manual de usuario del sistema de registro academico y control de notas
Manual de usuario del sistema de registro academico y control de notasManual de usuario del sistema de registro academico y control de notas
Manual de usuario del sistema de registro academico y control de notas
 
Preguntas profe angeles.entregar
Preguntas profe angeles.entregarPreguntas profe angeles.entregar
Preguntas profe angeles.entregar
 
Plan de desarrollo software
Plan de desarrollo softwarePlan de desarrollo software
Plan de desarrollo software
 
Reducir las filas de la cafeteria
Reducir las filas de la cafeteriaReducir las filas de la cafeteria
Reducir las filas de la cafeteria
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)
 
Ap1 aa3-ev2-informe de especificación de requerimientos.
Ap1 aa3-ev2-informe de especificación de requerimientos.Ap1 aa3-ev2-informe de especificación de requerimientos.
Ap1 aa3-ev2-informe de especificación de requerimientos.
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´s
 
Modelo de casos de uso 2ª versión
Modelo de casos de uso 2ª versiónModelo de casos de uso 2ª versión
Modelo de casos de uso 2ª versión
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Diseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academicoDiseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academico
 
sistemas de facturacion
sistemas de facturacionsistemas de facturacion
sistemas de facturacion
 
Design of a prototype web based students’ record management system – webstrems
Design of a prototype web based students’ record management system – webstremsDesign of a prototype web based students’ record management system – webstrems
Design of a prototype web based students’ record management system – webstrems
 

Similar a Sistema de control de alimentos

Trabajo de grado modelo
Trabajo de grado modeloTrabajo de grado modelo
Trabajo de grado modeloerika zambrano
 
Microsoft word proyecto tic
Microsoft word   proyecto  ticMicrosoft word   proyecto  tic
Microsoft word proyecto ticferandy
 
Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122sergio simbaA
 
Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122sergio simbaA
 
Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122sergio simbaA
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseñodreyco3030
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseñodreyco3030
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseñodreyco3030
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseñodreyco3030
 
Auditoria “centro educativo santa paula”
Auditoria  “centro educativo santa paula”Auditoria  “centro educativo santa paula”
Auditoria “centro educativo santa paula”karen_27segovia
 
Análisis del sistema de gestión de comedores para los estudiantes becados de ...
Análisis del sistema de gestión de comedores para los estudiantes becados de ...Análisis del sistema de gestión de comedores para los estudiantes becados de ...
Análisis del sistema de gestión de comedores para los estudiantes becados de ...UNIVERSIDAD MAGISTER (Sitio Oficial)
 
Proyecto terminado (1).docx2122 copia
Proyecto terminado (1).docx2122   copiaProyecto terminado (1).docx2122   copia
Proyecto terminado (1).docx2122 copiajimmy1234567891
 

Similar a Sistema de control de alimentos (20)

Trabajo de grado modelo
Trabajo de grado modeloTrabajo de grado modelo
Trabajo de grado modelo
 
Microsoft word proyecto tic
Microsoft word   proyecto  ticMicrosoft word   proyecto  tic
Microsoft word proyecto tic
 
Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122
 
Ficha 3
Ficha 3Ficha 3
Ficha 3
 
Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122
 
Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122Copia de proyecto terminado (1).docx2122
Copia de proyecto terminado (1).docx2122
 
Ficha 2
Ficha 2Ficha 2
Ficha 2
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseño
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseño
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseño
 
Proyecto de analisis y diseño
Proyecto de analisis y diseñoProyecto de analisis y diseño
Proyecto de analisis y diseño
 
Lección 2
Lección 2Lección 2
Lección 2
 
Tarea N 07 cabanillas novoa_nancy_paola
Tarea N  07 cabanillas novoa_nancy_paolaTarea N  07 cabanillas novoa_nancy_paola
Tarea N 07 cabanillas novoa_nancy_paola
 
Sistemas 2
Sistemas 2Sistemas 2
Sistemas 2
 
Auditoria “centro educativo santa paula”
Auditoria  “centro educativo santa paula”Auditoria  “centro educativo santa paula”
Auditoria “centro educativo santa paula”
 
Perfiltp2 expo
Perfiltp2 expoPerfiltp2 expo
Perfiltp2 expo
 
Análisis del sistema de gestión de comedores para los estudiantes becados de ...
Análisis del sistema de gestión de comedores para los estudiantes becados de ...Análisis del sistema de gestión de comedores para los estudiantes becados de ...
Análisis del sistema de gestión de comedores para los estudiantes becados de ...
 
Eje tematico 6
Eje tematico 6Eje tematico 6
Eje tematico 6
 
PRESENTACION.pptx
PRESENTACION.pptxPRESENTACION.pptx
PRESENTACION.pptx
 
Proyecto terminado (1).docx2122 copia
Proyecto terminado (1).docx2122   copiaProyecto terminado (1).docx2122   copia
Proyecto terminado (1).docx2122 copia
 

Sistema de control de alimentos

  • 1. 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.
  • 2. 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 1
  • 3. 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. 2
  • 4. 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. 3
  • 5. 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. 4
  • 6. 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. 5
  • 7. 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. 6
  • 8. 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. 7
  • 9. 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. 8
  • 10.  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. 9
  • 11. 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. 10
  • 12. 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. 11
  • 13. 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 12
  • 14. 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. 13
  • 15. 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 14
  • 16. 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. 15
  • 17. 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. 16
  • 18. 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. 17
  • 19. 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 1 $ 200.00 $ 200.00 institución Precio de la aplicación a 1 $ 800.00 $ 800.00 realizar 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. 18
  • 20. 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. 19
  • 21. 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. 20
  • 23. DIAGRAMAS DE FLUJO DE DATOS 22
  • 24. 23
  • 25. 24
  • 26. DIAGRAMAS DE CASO DE USOS 25
  • 27. CASO 1 1.1.2 Crear Usuario <<extensión>> <<extensión>> <<extensión>> 1.1.4 Cambiar 1.1.1 Seguridad 1.1.3 Editar Contraseña Usuario >> ión e> > ns d e xte clu << <<In 1.1.6 Eliminar Usuario 1.1.5 Imprimir CASO 2 2.1.3 Guardar <<Include>> 2.1.4 Borrar clu de>> <<In 2.1.1 llenar <<extensión>> 2.1.2 Control de formulario Asistencia Y consumo << ex ten sio n> <<extensión>> > 2.1.5 Inicio 2.1.6 Imprimir 26
  • 28. CASO 3 3.1.1 Control de bodega <<extensión>> <<Include>> <<Include>> 3.1.3 Guardar 3.1.4 Limpiar 3.1.2 Inventario << ex > n> te sió n ten si Ex ón << >> 3.1.4 Inicio 3.1.7 Estado Actual CASO 4 4.1.2 Enviar Informe <<extensión>> 4.1.3 Crear Informe > n> 4.1.6 Imprimir n sió <<In clu e xte de>> << 4.1.1 Informe Mensual << >> ón ex si ten n te ex si ó << n> > 4.1.5 Inicio 4.1.4 Inventario actual 27
  • 30. 29
  • 31. DISEÑO DEL SISTEMA DISEÑO LOGICO DE LA BASE DE DATOS MODELO ENTIDAD – RELACION 30
  • 32. 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. 31
  • 33. 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. 32
  • 34. 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 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. 33
  • 35. 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 34
  • 36. 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 35
  • 37. 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. 36
  • 38. 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 niños niñas de servicio del mes de reporte. Razones de no servicio del refrigerio escolar Falta de quipo de cocina. Falta de agua. Falta de insumos complementarios para Falta de organización de madres y la preparación. padres de familias. No asistió la madre voluntaria o cocinar. Festividad. No estaba el director o profesor Se terminó el alimento.´ encargado de entregar los alimentos. Por reunión de docentes u otras Otros, especifique. actividades de la escuela. 37
  • 39. Razones del no consumo del refrigerio escolar. A los niños no les gusta el refrigerio. A los niños no les dan el refrigerio porque sus padres no aportan. Los niños llegan desayunados o Los niños no lleva utensilios para almorzados. que les sirvan. Los niños prefieren comprar en el cafetín Se terminó el alimento. del C.E. Los niños llevan su propio refrigerio. Otros, especifique: Fecha de Entrega al Director del C.E. Nombre del docente. Firma: Nombre del representante Firma: de la comunidad. CONTROL DE BODEGA Nombre del C.E: Código del C.E. Municipio: Departamento: Mes de reporte: Año 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 38
  • 40. 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. Bebida arroz Frijol Azúcar Aceite Leche fortificante Fecha de Entrega al Director del C.E. Nombre del docente. Firma: Nombre del representante Firma: de la comunidad. INFORMACION MENSUAL Nombre del C.E: Código del C.E. Municipio: Departamento: Mes de reporte: Año de reporte: Número Número de días Promedio de de días con Matricula estudiantes que no lectivos refrigerio al inicio Promedio de asistencia onsumieron el en el en el del mes los días lectivos del refrigerio los días de mes de mes de de mes de reporte. servicio. Sección Grado TURNO reporte. reporte. reporte. niños niñas niños niñas Niños niñas 39
  • 41. Razones de no servicio. Falta de equipo de cocina. Falta de agua. Falta de insumos complementarios para la Falta de orientación de madres de preparación. 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 Los niños no llevan utensilios para almorzados. 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. bebida Alimentos. Arroz Frijol Azúcar Aceite Leche 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. Bebida arroz Frijol Azúcar Aceite Leche fortificante 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: 40
  • 42. 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. 41
  • 43. 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 42
  • 44. - 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 43
  • 45. 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), 44
  • 46. 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, 45
  • 47. 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, 46
  • 48. 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, 47
  • 49. 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, 48
  • 50. 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, 49
  • 51. 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, 50
  • 52. 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) ); 51
  • 53. 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, 52
  • 54. 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, 53
  • 55. 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, 54
  • 56. 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, 55
  • 57. 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) ); 56