Unive rsidad Central “Marta Abreu” de Las Vill as ...

84
Títul Unive Facu lo: Sistem ersidad C ultad de ma de Inf Al Autor: Tutor: Sa Central “M Matemá Trabajo formació limentac Ivón Gu Lic. Yeim anta Clara, Marta A tica Físic o de Dipl n para la ión de la uillermo M mer Torres , 3 de Julio Abreu” de ca y Com loma a Gestión UCLV. arín Rodríg s Nápoles o de 2009 e Las Vill mputación n en la Di guez las. n. irección de

Transcript of Unive rsidad Central “Marta Abreu” de Las Vill as ...

Page 1: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Títul

Unive

Facu

lo: Sistem

ersidad C

ultad de

ma de Inf

Al

Autor:

Tutor:

Sa

Central “M

Matemá

Trabajo

formació

limentac

Ivón Gu

Lic. Yeim

anta Clara,

Marta A

tica Físic

o de Dipl

n para la

ión de la

uillermo M

mer Torres

, 3 de Julio

Abreu” de

ca y Com

loma

a Gestión

UCLV.

arín Rodríg

s Nápoles

o de 2009

e Las Vill

mputación

n en la Di

guez

las.

n.

irección de

Page 2: Unive rsidad Central “Marta Abreu” de Las Vill as ...

 

 

Hago constar que el presente trabajo fue realizado en la Universidad Central “Marta Abreu” de

Las Villas como parte de la culminación de los estudios de la especialidad de Ciencias de la

Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que

estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado

en eventos ni publicado sin la autorización de la Universidad.

_______________________

Firma de los autores

Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de

la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo

de esta envergadura referido a la temática señalada.

________________________ ______________________

Firma de los tutores Firma del jefe del

Seminario

Page 3: Unive rsidad Central “Marta Abreu” de Las Vill as ...

 

 

No busques ser alguien de éxito sino busca ser alguien valioso:

lo demás llegará naturalmente.

Page 4: Unive rsidad Central “Marta Abreu” de Las Vill as ...

 

 

A mis padres, por la confianza que siempre depositaron en mí.

A mis abuelos, por soportar mis malacrianzas durante tanto tiempo.

A mi familia.

A mis amigos.

Page 5: Unive rsidad Central “Marta Abreu” de Las Vill as ...

 

 

Agradezco a:

Mi tutor, por su paciencia, comprensión y apoyo incondicional.

Mis profesores, por sus excelentes clases y experiencia trasmitida.

Al chino, por su ayuda y amistad.

A todos los que de una manera u otra me han apoyado durante mi vida.

Page 6: Unive rsidad Central “Marta Abreu” de Las Vill as ...

 

 

Resumen

El presente Trabajo de Diploma consiste en el desarrollo de un sistema computacional para

automatizar el proceso de planificación y control de los menús en la Dirección de

Alimentación de la Universidad Central “Marta Abreu” de Las Villas. El sistema se desarrolla

como una aplicación web de software libre utilizando Linux como sistema operativo, servidor

web Apache, base de datos PostGreSQL, PHP y Javascript como lenguajes de programación y

HTML y CSS como lenguajes de marcado y estilos. Mediante la implementación de los

módulos que integran la aplicación, se garantiza inmediatez y eficiencia en la obtención de los

conjuntos de resultados necesarios para realizar las tareas que allí se necesitan y que

antiguamente se realizaban de manera más compleja, e incluso en ocasiones no se encontraban

de forma digital. Algunas de las novedades que brinda este sistema son los cálculos de

cantidades necesarias para la elaboración de los platos en el comedor, teniendo en cuenta los

comensales y existencias en el almacén, informes de varios tipos donde se listan resúmenes de

cantidades de productos, comensales y platos utilizados durante la planificación de los menús.

Page 7: Unive rsidad Central “Marta Abreu” de Las Vill as ...

 

 

Abstract

This diploma work is to develop a computer system to automate the process of planning and

control of the menus in the Food Directorate of the Central University "Marta Abreu" de Las

Villas. The system is developed as a web application using open source Linux operating

system, Apache Web server, PostgreSQL database, PHP and JavaScript as programming

languages such as CSS and HTML and markup languages and styles. Through the

implementation of the modules that make up the application, it ensures immediacy and

efficiency in achieving the result sets needed to perform the tasks that are needed and that

there were formerly a more complex, and sometimes were not in digital form. Some of the

innovations offered by this system are estimates of amounts necessary for preparing meals in

the dining room, taking into account diners and inventory in the warehouse, reports of various

kinds which lists summaries of quantities of products, people and dishes used during the

planning of menus.

Page 8: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Contenido

 

Contenido

Introducción .................................................................................................................................... 1 

Planteamiento del problema. ....................................................................................................... 2 

Objetivo general. ......................................................................................................................... 2 

Objetivos específicos. .................................................................................................................. 2 

Preguntas de investigación .......................................................................................................... 3 

Justificación de la investigación. ................................................................................................. 3 

Hipótesis de investigación: .......................................................................................................... 4 

Resumen de los capítulos. ........................................................................................................... 4 

Capitulo 1: Selección del escenario computacional del trabajo. ..................................................... 5 

1.1  Situación actual de sistemas que gestionen la planificación y el control de los productos para la alimentación en los centros de Enseñanza Superior de nuestro país. .............................. 5 

1.2  Documentación legal establecida para la planificación y el control de los productos en almacenes. ................................................................................................................................... 6 

1.3  Caracterización de los procesos de planificación y control de los productos alimentarios en la UCLV ................................................................................................................................. 7 

1.4  Descripción del sistema. ................................................................................................... 9 

1.4.1  Beneficios que se esperan: ........................................................................................ 9 

1.4.2  Bondades del sistema: ............................................................................................... 9 

1.5  Software libre. ................................................................................................................ 10 

1.6  Componentes fundamentales que conforman la plataforma WEB utilizada: ................ 11 

1.6.1  Linux, sistema operativo: ........................................................................................ 11 

1.6.2  Apache, servidor WEB: .......................................................................................... 12 

1.6.3  PostgreSQL, gestor de bases de datos: ................................................................... 13 

1.7  Programación orientada a eventos .................................................................................. 14 

Page 9: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Contenido

 

1.8  Herramientas utilizadas para la construcción de un sitio web. ...................................... 15 

1.8.1  PHP, lenguaje de programación principal: ............................................................. 15 

1.8.2  JavaScript, lenguaje de programación de apoyo: .................................................... 17 

1.8.3  HTML, lenguaje de marcado hipertexto: ................................................................ 18 

1.8.4  CSS - Cascading Style Sheets (Hojas de estilo en cascada) ................................... 18 

1.8.5  DOM - Document Object Model (Modelo en Objeto del Documento) .................. 19 

1.9  Problemas de compatibilidad entre navegadores WEB. ................................................ 20 

Capitulo 2. Diseño e implementación del sistema. ....................................................................... 22 

2.1  Etapa de análisis y diseño del sistema: ........................................................................... 22 

2.1.1  Diagrama de actividades ......................................................................................... 24 

2.1.2  Modelo de casos de uso .......................................................................................... 24 

2.1.3  Descripción de los casos de uso principales de cada actor ..................................... 27 

2.1.4  Diagrama de navegación del sitio ........................................................................... 30 

2.1.5  Diagrama de despliegue .......................................................................................... 30 

2.2  Diseño de la base de datos. ............................................................................................. 31 

2.3  Herramientas utilizadas para el desarrollo del sistema .................................................. 31 

2.4  Diseño de la interfaz visual. ........................................................................................... 33 

2.5  Etapa de implementación. .............................................................................................. 35 

2.5.1  Procedimientos almacenados y funciones de la base de datos. .............................. 38 

2.5.2  Uso de PHP en las clases del sistema. .................................................................... 39 

2.5.3  Uso de JavaScript en las clases del sistema. ........................................................... 40 

2.5.3.1  Yahoo! User Interface Library (YUI) .............................................................. 40 

2.5.3.2  Clases JavaScript creadas para elaborar un menú. .......................................... 41 

Capítulo 3: Manual de usuario. ..................................................................................................... 43 

3.1  Presentación del sistema. ................................................................................................ 43 

Page 10: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Contenido

 

3.2  Iniciar sesión. ................................................................................................................. 44 

3.3  Barra de navegación. ...................................................................................................... 44 

3.4  Opción “Almacén” de la barra de navegación. .............................................................. 45 

3.4.1  Opción “Unidades de medida” de la sub-barra de navegación. .............................. 45 

3.4.2  Opción “Categorías de productos” de la sub-barra de navegación. ........................ 46 

3.4.3  Opción “Unidades de medidas” de la sub-barra de navegación. ............................ 47 

3.5  Opción “Menú” de la barra de navegación. ................................................................... 50 

3.5.1  Opción “Categorías de platos” de la sub-barra de navegación. .............................. 50 

3.5.2  Opción “Platos” de la sub-barra de navegación. ..................................................... 51 

3.5.3  Opción “Menús” de la sub-barra de navegación. .................................................... 53 

3.6  Opción “Reportes” de la barra de navegación. .............................................................. 57 

3.6.1  Opción “Almacén” de la sub-barra de navegación. ................................................ 57 

3.6.2  Opción “Menú” de la sub-barra de navegación. ..................................................... 58 

3.7  Opción “Usuarios” de la barra de navegación. .............................................................. 60 

3.8  Opción “Mis datos” de la barra de navegación. ............................................................. 60 

3.9  Opción “Salir” de la barra de navegación ...................................................................... 61 

Conclusiones ................................................................................................................................. 62 

Recomendaciones ......................................................................................................................... 63 

Bibliografía ................................................................................................................................... 64 

Anexos .......................................................................................................................................... 65 

Page 11: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Lista de figuras

 

Figuras

Figura 2.1  Árbol de categorías y productos ............................................................................. 23 

Figura 2.2  Casos de uso del actor Director .............................................................................. 25 

Figura 2.3  Casos de uso del actor Almacenero ........................................................................ 25 

Figura 2.4  Casos de uso del actor Planificador ........................................................................ 26 

Figura 2.5  Casos de uso del actor Administrador .................................................................... 26 

Figura 2.6  Diagrama de despliegue .......................................................................................... 31 

Figura 2.7  Diseño del sistema. ................................................................................................. 33 

Figura 2.8  Boceto del diseño .................................................................................................... 34 

Figura 2.9  Clase Save. .............................................................................................................. 40 

Figura 3.1  Partes del sistema. ................................................................................................... 43 

Figura 3.2  Cuadro de inicio de sesión ...................................................................................... 44 

Figura 3.3  Barra de navegación. ............................................................................................... 44 

Figura 3.4  Opción Almacén – Unidades de medida. ................................................................ 45 

Figura 3.5  Unidades de medida. ............................................................................................... 45 

Figura 3.6  Crear o editar una unidad de medida. ..................................................................... 46 

Figura 3.7  Opción Categorías – Categorías de productos ........................................................ 46 

Figura 3.8  Categorías de productos. ......................................................................................... 47 

Figura 3.9  Crear o editar una categoría de un producto. .......................................................... 47 

Figura 3.10  Opción Almacén – Unidades de medidas. .......................................................... 47 

Figura 3.11  Productos. ............................................................................................................ 48 

Figura 3.12  Crear o editar un producto. .................................................................................. 49 

Page 12: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Lista de figuras

 

Figura 3.13  Operaciones de Depósito o Extracción. .............................................................. 49 

Figura 3.14  Opción Categorías – Categorías de platos. .......................................................... 50 

Figura 3.15  Categorías de platos. ........................................................................................... 50 

Figura 3.16  Crear o editar una categoría de un plato. ............................................................. 50 

Figura 3.17  Opción Menú – Platos. ........................................................................................ 51 

Figura 3.18  Platos. .................................................................................................................. 51 

Figura 3.19  Crear o editar un plato. ........................................................................................ 52 

Figura 3.20  Ejemplo de un plato elaborado. ........................................................................... 53 

Figura 3.21  Opción Menú – Menús. ....................................................................................... 53 

Figura 3.22  Menús .................................................................................................................. 53 

Figura 3.23  Calendario. .......................................................................................................... 54 

Figura 3.24  Icono de informe. ................................................................................................ 54 

Figura 3.25  Nuevo menú – Comedor y tipos de comida. ....................................................... 54 

Figura 3.26  Nuevo menú – Responsables y observaciones. ................................................... 55 

Figura 3.27  Nuevo menú – Categorías y listas de platos. ....................................................... 55 

Figura 3.28  Nuevo menú – Comensales e ingredientes del menú. ......................................... 56 

Figura 3.29  Informes. ............................................................................................................. 57 

Figura 3.30  Opción Reportes - Almacén. ............................................................................... 57 

Figura 3.31  Selección de tipo de informe, fechas y productos para informes de almacén. .... 58 

Figura 3.32  Movimientos por productos. ............................................................................... 58 

Figura 3.33  IPB de almacén.................................................................................................... 58 

Figura 3.34  Opción Reportes - Menú. .................................................................................... 58 

Figura 3.35  Fichas de costos. .................................................................................................. 59 

Figura 3.36  Frecuencias por platos. ........................................................................................ 59 

Page 13: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Lista de figuras

 

Figura 3.37  Comportamiento del balance nutritivo. ............................................................... 59 

Figura 3.38  Opción Usuarios. ................................................................................................. 60 

Figura 3.39  Usuarios. .............................................................................................................. 60 

Figura 3.40  Crear o editar un usuario. .................................................................................... 60 

Figura 3.41  Opción Mis datos. ............................................................................................... 60 

Figura 3.42  Mis datos ............................................................................................................. 61 

Figura 3.43  Opción Salir. ........................................................................................................ 61 

 

 

 

Page 14: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Lista de tablas

 

Tablas

Tabla 1.1  Norma de consumo del plato Potaje de Frijoles Negros ........................................... 6 

Tabla 2.1  Tabla de eventos para el caso de uso “Actualizar inventario”. ............................... 27 

Tabla 2.1  Tabla de eventos para el caso de uso “Planificar menú”. ....................................... 28 

Page 15: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Introducción

Introducción

La Dirección de Alimentación de la UCLV decide implementar un sistema que logre integrar las

áreas de almacén y planificación del menú para llevar un control centralizado de los recursos que

maneja. Para esto se decidió utilizar tecnología de software libre cliente-servidor con tecnología

Web. Este sistema utilizará como gestor de bases de datos PostgreSQL y como lenguajes de

programación PHP y JavaScript.

Se decide realizar una aplicación Web porque ofrece las ventajas siguientes:

Se puede migrar de sistema operativo o cambiar el hardware libremente sin afectar el

funcionamiento de las aplicaciones de servidor.

No se requieren complicadas combinaciones de Hardware/Software para utilizar estas

aplicaciones.

Se facilita el trabajo a distancia. Se puede trabajar desde cualquier computadora que esté

conectada a la intranet universitaria.

Actualizar o hacer cambios en la aplicación es sencillo y sin riesgos de

incompatibilidades. Existe solo una versión en el servidor lo que implica que no hay que

distribuirla entre los demás computadores. El proceso es rápido y limpio.

Al funcionar en un navegador, se requiere un conocimiento básico de informática para

utilizar una aplicación Web.

Se podría pensar como gestor de base de datos en MySQL pero con respecto a PostgreSQL tiene

las siguientes desventajas, que en un sistema como el que se quiere desarrollar influiría en el

rendimiento y facilidades de construcción porque se tendría que acudir a soluciones alternativas.

Entre las ventajas se tienen:

Sistema de tipos de datos extensible para proveer tipos de datos definidos por el usuario,

y rápido desarrollo de nuevos tipos.

Integridad referencial.

Replicación que permiten la duplicación de bases de datos maestras en múltiples sitios de

réplica.

Secuencias.

Page 16: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Introducción

Procedimientos almacenados en múltiples lenguajes de programación, entre ellos

PL/pgSQL [1]

Utilizamos PHP porque tiene la ventaja de ser un lenguaje multiplataforma, con capacidad de

expandir su potencial mediante módulos (llamados ext's o extensiones), es libre, fácil de

aprender y funciona con recursos limitados, donde no hace falta tener un gran servidor que de

soporte a él, por lo cual resulta eficiente para el sistema que queremos implementar.

Planteamiento del problema.

La Dirección de Alimentación de la UCLV carece de un Sistema de Información y Gestión

Automatizado para el control y la supervisión de sus procesos fundamentales, lo que se traduce

en extensas jornadas de planificación, excesivos cálculos manuales y contantes revisiones de

documentación manuscrita para la interpretación de indicadores vitales como: compras, precios,

existencias, comportamiento de comensales, etc.

Objetivo general.

Desarrollar e implantar un Sistema de Información y Gestión para la Dirección de Alimentación

de la UCLV, utilizando la tecnología de Software Libre Cliente-Servidor.

Objetivos específicos.

1. Revisión del estado del arte y los procesos que tributan a la gestión de la información

alimentaria en las universidades.

2. Identificar las tecnologías y herramientas a utilizar en la construcción del sistema

computacional.

3. Implementar los subsistemas necesarios para la gestión de la planificación del menú.

4. Implementar los subsistemas necesarios para la gestión del los productos en almacén.

5. Implementar los subsistemas necesarios para la obtención de reportes estadísticos.

Page 17: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Introducción

Preguntas de investigación

1. ¿Qué productos de Software Libre pueden ser adaptados para su uso en el sistema?

2. ¿De qué forma el sistema realizará la planificación del menú de forma eficiente y con los

requisitos exigidos?

3. ¿Qué información puede procesar y mostrar oportunamente el sistema para enriquecer la

toma de decisiones de los directivos?

4. ¿Cómo garantizar que el sistema tenga el máximo de seguridad y fiabilidad?

Justificación de la investigación.

Las áreas que forman la Dirección de Alimentación de la UCLV ejercen un control de los

recursos que manejan; algunas lo hacen a través de registros manuscritos y otras se auxilian del

programa Microsoft Excel. En los casos en que se comparte información entre áreas distintas,

por ejemplo, entre el almacén y el grupo de planificación, los almaceneros deben entregarle un

resumen escrito con las cantidades de productos existentes al planificador para que este con

ayuda del Microsoft Excel realice la planificación y elabore las solicitudes manuscritas al

almacén. Como sucede en este ejemplo existen otros casos similares en los que el movimiento de

información se realiza de forma manual y con lentitud, por no contar con un sistema que integre

y viabilice el intercambio de información entre las diferentes áreas. Con la realización del

Sistema de Información para la Gestión que se desarrolla en el presente trabajo de diploma, se

pretende eliminar estos problemas, de modo que la información fluya de manera rápida y precisa,

haciéndola más oportuna para la correspondiente toma de decisiones. Además, este sistema se

podría implantar en otras universidades del país, que al igual que la nuestra carecen de este tipo

de herramienta para procesar y manejar toda la información de los alimentos que se consumen

sus estudiantes y profesores.

Page 18: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Introducción

Hipótesis de investigación:

¿El menú se puede planificar a partir de tablas que contienen las normas para la

elaboración de los platos y las existencias en el almacén de cada producto que necesite

dicho plato?

¿Se puede garantizar que las existencias en los almacenes sean las correctas mediante el

control de depósitos y extracciones de productos después de una de estas operaciones?

¿Es posible realizar la extracción automática de las cantidades correspondientes de cada

producto después de la elaboración de un menú?

¿Es posible garantizar la seguridad del sistema mediante el sistema operativo, el lenguaje

de desarrollo y el gestor de base de datos seleccionados, así como la implementación de

un módulo que lleve un control de los accesos al sistema mediante la autentificación de

usuarios?

Resumen de los capítulos.

En el primer capítulo de este trabajo se aborda el tema de la fundamentación teórica, a partir de

la necesidad de implantar este sistema para la gestión en la Dirección de Alimentación de la

UCLV. Se da a conocer de la importancia del uso de Software Libre en la solución del problema

planteado y las ventajas que este proporcionaría.

En el segundo capítulo se trata el estado de los procesos actuales para llevar a cabo la gestión en

la Dirección de Administración. Se aborda la implementación de los módulos que fueron

necesarios para el sistema, así como los actores y casos de uso del mismo.

En el tercer capítulo se muestra el manual de usuarios del sistema, el cual ofrece las opciones

necesarias para iniciar la capacitación de los usuarios que utilizan esta aplicación web.

Page 19: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

Capitulo 1: Selección del escenario computacional del trabajo.

1.1 Situación actual de sistemas que gestionen la planificación y el control de los productos

para la alimentación en los centros de Enseñanza Superior de nuestro país.

En todos los centros de enseñanza del Ministerio de Educación Superior existe el control

bilateral de los procesos fundamentales, o sea existe el control de los procesos a través de los

documentos manuscritos y el control de los mismos procesos a través de sistemas automatizados.

La verificación a través de auditorías, inspecciones y supervisiones de la coincidencia de ambas

contabilidades ha resultado ser un método de control muy eficiente y prometedor.

Las universidades enfocadas en su principal misión de formar y educar a los futuros

profesionales del mañana, han centrado su interés en desarrollar al máximo los procesos que

tributan al cumplimiento de su misión. Tal es así que todas las universidades cuentan con un

sistema automatizado que registra y controla toda su contabilidad (compras, ventas, gastos,

ingresos, inventarios de productos en almacenes, medios básicos, recursos humanos, etc.). Pero

los sistemas vigentes ninguno registra, ni tiene funcionalidades orientadas al control detallado de

la alimentación que se ofrece diariamente en todas las universidades.

Solo en la UCI (Universidad de las Ciencias Informáticas) se ha automatizado planificación de

los alimentos, para controlar el cumplimiento de las normas de consumo, justificar los gastos por

el concepto de alimentación y abreviar el tiempo de planificación, pero en el sistema no se

trabaja con la nutrición y no se explota el trabajo estadístico. Los demás centros del país se

auxilian de las facilidades de cálculo del Microsoft Excel para humanizar el trabajo.

La Dirección de Alimentación de la UCLV cuenta un sistema desarrollado en el Microsoft Excel

que se ha ido perfeccionado desde el 2005 y el cual ha sido elogiado por muchas de las

inspecciones de nuestro Ministerio que controlan el proceso de alimentación en los centros de la

enseñanza superior.

El sistema que se pretende desarrollar en este trabajo abarca desde el la facilidad y el control de

planificación hasta el cumplimiento del balance nutritivo y el procesamiento estadístico

necesario para hacer más eficiente esta actividad, utilizando un entorno comunicativo que sirva

Page 20: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

para informar de forma adecuada a la población universitaria de un tema tan susceptible como la

alimentación.

1.2 Documentación legal establecida para la planificación y el control de los productos en

almacenes.

Con el surgimiento de la Residencia Estudiantil (beca) como un complemento vital para hacer de

las universidades centros de estudios regionales, se hizo preciso concebir un sistema alimentario

completo que garantizara la alimentación de todos los estudiantes becados en las universidades

del país que incluyera: desayuno, almuerzo, comida y en algunos casos hasta meriendas. A raíz

de esto se formularon resoluciones y procedimientos para organizar esta actividad.

Para llevar a cabo el proceso de planificación de los alimentos que se asignan para el consumo de

los estudiantes y trabajadores de la UCLV, se consultan documentos legales que rigen la forma y

los índices de consumo de los alimentos y se cumplen determinadas resoluciones emitidas para el

control de esta actividad. El documento más significativo de este proceso es:

Registro de Normas de Consumo: Este registro, revisado por Planificación y Comercio

Municipal y aprobado por la Administración y las Organizaciones Políticas del Centro, contiene

las cantidades de productos requeridas para la elaboración de los platos que pueden ofertarse en

los comedores obreros estudiantiles. Dicho registro será un punto de partida en la

implementación de este trabajo y las normas de consumo tienen el formato siguiente:

Tabla 1.1 Norma de consumo del plato Potaje de Frijoles Negros 

Nombre del Plato Ración a Servir (g ó lts)

Ingredientes Fundamentales

Bruto (g ó lts)

Neto (g ó lts)

Observaciones.

Potaje de Frijoles

Negros 240

Frijoles Negros 45 Se utilizarán 10 g más de

Frijoles cuando la existencia

lo permita. Se utilizará hasta

20 g de viandas según la

existencia lo permita.

Aceite 3

Sal 3

 

Page 21: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

Para llevar a cabo la manipulación y el almacenamiento de los productos también existe una

documentación establecida y legislada con el fin de controlar estas actividades en los almacenes,

documentos tales como: el IPB del almacén, donde se refleja el movimiento de cada producto

diariamente, los modelos de solicitudes, de recepciones y otro muy importante como:

La Tarjeta Estiba: Este modelo es específico para cada producto y recoge todos los

movimientos del mismo. A continuación se muestra su estructura porque será de vital

importancia para el control de las existencias almacenadas.

TARJETA DE ESTIBA PRODUCTO GENERICO CODIGO

PRODUCTO ESPECIFICO

PRODUCTO SURTIDO

CUENTA SUBCUENTA ANALISIS

SECCION ESTANTE CASILLA

U/M PRECIO UNITARIO RECARGO O DESCUENTO

DOCUMENTO ENTRADA SALIDA SALDO FIRMA

D M CLAVE No.

PRODUCTO GENERICO CODIGO

PRODUCTO ESPECIFICO

PRODUCTO SURTIDO

1.3 Caracterización de los procesos de planificación y control de los productos alimentarios

en la UCLV

La Dirección de Alimentación se rige por procesos fundamentales dentro de los que sobresalen el

proceso de planificación de los alimentos y el proceso de control de los productos en almacén,

ambos vitales en el funcionamiento de esta área.

Proceso de planificación de los alimentos: Se basa en la planificación diaria de los alimentos

que consume la población universitaria, teniendo en cuenta el balance nutritivo según los

productos que se tengan en existencia. Actualmente existe un sistema en Microsoft Excel en el

Page 22: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

cual se realiza el proceso de planificación alimentaria pero es muy dependiente de documentos,

debido a que:

Las normas de los productos, los valores nutritivos y los productos de cada plato tienen

que introducirse de forma manual.

Las solicitudes tienen que actualizarse para que no aparezcan productos cuya solicitud

sea cero.

Proceso de control de productos en almacén: Todo el control de los productos se realiza de

forma manual a través de los documentos establecidos, aunque existe un sistema en la Dirección

de Economía cuya función únicamente es llevar el control contable de los productos, de allí que

no reporte ningún beneficio al proceso alimentario en cuestión. En la actualidad el proceso de

control de los productos en almacén es totalmente manual y consume tiempo, debido a que:

Se realiza a través de la solicitud de las existencias de los productos, las cuales solo se

consiguen de forma manual a través de las tarjetas de estiba, algo que consume mucho

tiempo al almacenero quien tiene que listar los saldos de los productos, a partir de la

revisión de las tarjetas de estiba.

Proceso de análisis y toma de decisiones: En este proceso se utiliza la información

fundamentalmente proveniente de los dos procesos antes descritos y se toman las decisiones

pertinentes para desarrollar la alimentación de la población universitaria de la manera más

satisfactoria y económicamente posible. Pero dificulta y limita el tiempo que se debía dedicársele

al análisis, la manera en que se realiza el procesamiento y obtención de la información, debido a

que:

Todo el procesamiento de la información proveniente de la planificación del menú y el

estado de los productos almacenados se realiza de forma manual.

Page 23: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

1.4 Descripción del sistema.

El sistema a través de su interfaz web permite a los usuarios (trabajadores de la Dirección de

Alimentación de la UCLV):

Llevar el control de las existencias en los almacenes de alimentación.

Elaborar los menús teniendo en cuenta los requisitos y normas de alimentación social.

Generar las solicitudes de pedidos y entregas de productos acorde con el menú elaborado.

Generar reportes de los productos utilizados por platos en cada menú (para desayuno,

almuerzo y comida) y por cantidades de comensales.

Obtener reportes a partir de los datos almacenados para lograr una mejor toma de

decisiones.

1.4.1 Beneficios que se esperan:

Lograr mayor organización y centralización de los datos.

Ganar rapidez y exactitud en la elaboración del menú, eliminando el margen de error

humano que trae como consecuencia realizar estos cálculos en varias partes de un

documento Excel.

Ganar en rapidez a la hora de generar solicitudes y reportes de existencias de productos

en el almacén.

Ofrecer oportunamente la información que se necesite en la toma de decisiones.

1.4.2 Bondades del sistema:

Accesibilidad a través de la red donde se encuentre hospedado el sistema.

Autentificación de los usuarios.

Acceso a los datos por directivos, trabajadores y personas con previa autorización.

Acceso a datos estadísticos mediante consultas al sistema.

Page 24: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

10 

1.5 Software libre.

Software libre (en inglés free software) es la denominación del software que brinda libertad a los

usuarios sobre su producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado,

estudiado, modificado y redistribuido libremente. Según la Free Software Foundation, el

software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar,

cambiar y mejorar el software; de modo más preciso, se refiere a cuatro libertades de los usuarios

del software: la libertad de usar el programa, con cualquier propósito; de estudiar el

funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo que

puede ayudar a otros; de mejorar el programa y hacer públicas las mejoras, de modo que toda la

comunidad se beneficie (para la segunda y última libertad mencionadas, el acceso al código

fuente es un requisito previo).[2]

El software libre suele estar disponible gratuitamente, o al precio de coste de la distribución a

través de otros medios; sin embargo, no es obligatorio que sea así, por ende no hay que asociar

software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su

carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el

"software gratis" o "gratuito" incluye en algunas ocasiones el código fuente; no obstante, este

tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen

los derechos de modificación y redistribución de dichas versiones modificadas del programa.

Tampoco debe confundirse software libre con "software de dominio público". Este último es

aquél que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad,

porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y

consignando su autoría original. Este software sería aquél cuyo autor lo dona a la humanidad o

cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de éste,

habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que sea,

ya no es de dominio público.

Los conceptos antes expresados pueden apreciarse en el Anexo # 1.

Page 25: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

11 

1.6 Componentes fundamentales que conforman la plataforma WEB utilizada:

1.6.1 Linux, sistema operativo:

Linux es un sistema operativo, compatible con Unix. Dos características muy peculiares lo

diferencian del resto de sistemas que podemos encontrar en el mercado. La primera, es que es

libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa

desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado

del código fuente. Otros beneficios que brinda este sistema son la independencia tecnológica, el

bajo costo, las libertades para adaptarlo a las necesidades de cada caso y, muchas veces, la

posibilidad de contribuir con mejoras al software y así ayudar a otras personas e instituciones.

Es usado ampliamente en servidores y súper-computadoras, la 9ª más potente del mundo y

primera más potente fuera de EE.UU. en junio de 2007, denominada MareNostrum, fue

desarrollada por IBM y está basada en un clúster Linux. A fines de 2007, de acuerdo con el

top500.org, encargado de monitorear las 500 principales supercomputadoras del mundo: 371

usaban una distribución basada en GNU/Linux, 78 Unix, 41 SLES (una variante de Unix), 19

únicos con Linux y 4 con Mac. Ninguna usaba Windows.

Desde finales de 2000 se ha incrementado el apoyo y respaldo de parte de fabricantes de

hardware como IBM, Sun Microsystems, Hewlett-Packard, y Novell. Algunos de ellos (como

Dell, Hewlett-Packard, Lenovo y Acer) lo incluyen pre-instalado en algunos modelos de

computadoras portátiles y de escritorio para el usuario final. El respaldo de las compañías de

software también está presente, ya que ― entre otras aplicaciones ― Nero, Java, Google Earth,

Google Desktop, Adobe Reader, Adobe Flash, RealPlayer y Yahoo! Messenger están disponibles

para Linux.

En cuanto a seguridad informática, se debe decir que los casos de vulnerabilidad (virus, spyware,

rootkits, troyanos, gusanos) son bastantes escasos. En Internet, los alojamientos de sitio Web,

correo POP3, IMAP, y SMTP, representan el 78 % bajo la plataforma de Linux. Es ampliamente

aceptado por poseer una variedad de motores para servidores de correos y páginas Web, los

cuales brindan una estabilidad y seguridad probadas.

Page 26: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

12 

Linux es una alternativa como sistema operativo para servidores a otros sistemas de código libre

y no libre. Sus principales competidores son UNIX y Microsoft Windows, que posee las

combinaciones de diferentes versiones de IIS (Internet Information Services), SQL Server,

Exchange Server. Este conjunto de programas tiene un porcentaje mayor de vulnerabilidades

siendo los preferidos de los hackers cuando buscan un blanco de ataque. Debe tenerse en cuenta

que, además de ser más vulnerables, ellos deben ser pagados a Microsoft por cada copia del

software que se distribuya. [3]

1.6.2 Apache, servidor WEB:

El servidor HTTP Apache es un software libre. Es un servidor HTTP de código abierto para

plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el

protocolo HTTP/1.1. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del

popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo.

Apache es el servidor web por excelencia, con algo más de un 60 % de los servidores de internet

confiando en él. Entre sus características más sobresalientes están:

Fiabilidad: Alrededor del 90 % de los servidores con más alta disponibilidad funcionan

con Apache.

Gratuidad: Apache es totalmente gratuito, y se distribuye bajo la licencia Apache

Software License, que permite la modificación del código.

Extensibilidad: se pueden añadir módulos para ampliar las ya de por sí extensas

capacidades de Apache. Hay una gran variedad de módulos, que permiten desde generar

contenido dinámico (con PHP, Java, Perl, Python,...), monitorizar el rendimiento del

servidor, atender peticiones encriptados por SSL, hasta crear servidores virtuales por IP

o por nombre (varias direcciones web son manejadas en un mismo servidor) y limitar el

ancho de banda para cada uno de ellos. Dichos módulos pueden incluso ser creados por

cualquier persona con conocimientos de programación. [4]

Algunos de los módulos más destacados de este servidor son:

mod_ssl: Es una interfaz para los protocolos de encriptado SSL/TLS de OpenSSL.

Page 27: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

13 

mod_dav: Este módulo implementa la especificación del HTTP Distributed Authoring

and Versioning (DAV) para mantener contenidos web.

mod_deflate: Permite soportar navegadores que requieren que el contenido sea

comprimido antes de ser servido, ahorrando ancho de banda.

mod_auth_ldap: este módulo permite que se pueda usar una base de datos LDAP para

almacenar las credenciales en la autentificación básica HTTP.

mod_file_cache: incorpora capacidades de cacheado.

1.6.3 PostgreSQL, gestor de bases de datos:

Como muchos otros proyectos Open Source, el desarrollo de PostgreSQL no es manejado por

una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones

comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG

(PostgreSQL Global Development Group). PostgreSQL ha tenido una larga evolución, tomando

como punto de partida el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado

por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de

datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una

experiencia comercial con el mismo, Michael decidió volver a la Universidad para trabajar en un

nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o

simplemente Postgres.

El proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos

relacional planteado a comienzos de los años 1980. El principal de estos problemas era la

incapacidad del modelo relacional de comprender "tipos", es decir, combinaciones de datos

simples que conforman una única unidad. Actualmente estos son llamados objetos. Se esforzaron

en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos.

Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de

describir relaciones, las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas

completamente por el usuario. En Postgres la base de datos “comprendía” las relaciones y podía

obtener información de tablas relacionadas utilizando reglas.

Page 28: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

14 

La principal ventaja de PostgreSQL es la alta concurrencia. Mediante un sistema denominado

MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que

mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de

bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le ejecutó la

sentencia “commit”, que es la encargada de decir que se terminaron de enviar todos los datos al

servidor. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases,

con lo que se elimina la necesidad del uso de bloqueos explícitos.[5]

Algunas de las características de Postgres son:

Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).

Disparadores (triggers).

Vistas.

Integridad transaccional.

Tipos de datos y operaciones geométricas.

Tiene además como particularidad que las funciones que se ejecutan en el servidor pueden ser

escritos en varios lenguajes, con la potencia que cada uno de ellos da, desde las operaciones

básicas de programación, tales como bifurcaciones y bucles, hasta las complejidades de la

programación orientada a objetos o la programación funcional. Algunos de los lenguajes que se

pueden utilizar son, un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle), C,

C++, PL/Perl, PL/Python etc.

1.7 Programación orientada a eventos

La programación dirigida por eventos es un paradigma de programación en el que tanto la

estructura como la ejecución de los programas van determinados por los sucesos que ocurran en

el sistema o que ellos mismos provoquen. Mientras en la programación secuencial (o

estructurada) es el programador el que define cuál va a ser el flujo del programa, en la

programación dirigida por eventos será el propio usuario, u otros mecanismos que estén

accionando el programa los que dirijan su flujo de este. Aunque en la programación secuencial

puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán

Page 29: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

15 

cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el

caso de la programación dirigida por eventos.

El creador de un programa dirigido por eventos debe definir los eventos que manejará su

programa y las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como

el administrador de evento. Los eventos soportados estarán determinados por el lenguaje de

programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo

programador.

En la programación dirigida por eventos, al comenzar la ejecución del programa se llevarán a

cabo las inicializaciones y a continuación el programa quedará bloqueado hasta que se produzca

algún evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa

pasará a ejecutar el código del correspondiente administrador de evento. Por ejemplo, si el

evento consiste en que el usuario ha hecho clic en el botón de “play” de un reproductor de

películas, se ejecutará el código del administrador de evento, que será el que haga que la película

se muestre por pantalla.[6]

Un ejemplo de programación dirigida por eventos lo tenemos en algunas interfaces web como las

que utilizan los correos de Yahoo o Google actuales. También están presentes en frameworks

para programación de alto nivel, como es el caso de Delphi, Visual Basic, Visual Studio, los

cuales nos brindan la posibilidad de utilizar botones, formularios y otros componentes que

capturan los eventos por nosotros y los dejan listos para que demos una respuesta a ellos. Este

tipo de programación es la base de lo que llamamos interfaz de usuario, aunque puede emplearse

para desarrollar interfaces entre componentes de Software y módulos del núcleo de los sistemas

operativos.

1.8 Herramientas utilizadas para la construcción de un sitio web.

1.8.1 PHP, lenguaje de programación principal:

PHP es un lenguaje de programación interpretado de propósito general, ampliamente usado y

diseñado originalmente para la creación de páginas web dinámicas. Puede ser embebido dentro

de código HTML. Se usa principalmente en interpretación del lado del servidor (server-side

Page 30: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

16 

scripting), tomando el código en PHP como su entrada y creando páginas web como salida. Es

un producto de código abierto, por lo que se puede acceder a su código, utilizarlo, modificarlo y

redistribuirlo sin coste alguno.

Este lenguaje, que en la actualidad se encuentra instalado en más de 20 millones de sitios web y

en un millón de servidores, fue publicado en 1995 y es fruto del trabajo Rasmus Lerdorf. Ha sido

adoptado por otras personas de talento y ha experimentado tres transformaciones importantes

hasta convertirse en el producto actual. Las siglas PHP equivalían inicialmente a Personal Home

Page (Página de inicio personal) pero se modificó y ahora equivale a PHP Hipertext Preprocessor

(Preprocesador de hipertexto PHP). [7]

El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada,

como C y Perl, permiten a la mayoría de los programadores 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.

A grandes rasgos PHP funciona de la manera siguiente: el cliente hace una petición al servidor

para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script

solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información

de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo

envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash,

así como imágenes en diferentes formatos. Permite la conexión a diferentes tipos de servidores

de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server,

Firebird y SQLite.

Algunas de las principales ventajas con las que cuenta PHP son:

Es un lenguaje multiplataforma.

Interfaces para una gran cantidad de sistemas de bases de datos diferentes.

Capacidad de expandir su potencial utilizando una enorme cantidad de módulos

(llamados ext's o extensiones).

No requiere definición de tipos de variables.

Alto rendimiento.

Page 31: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

17 

Bajo coste.

PHP es una alternativa a las tecnologías:

Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes).

ColdFusion de la compañía Adobe (antes Macromedia)

JSP/Java de Sun Microsystems

CGI/Perl.

1.8.2 JavaScript, lenguaje de programación de apoyo:

JavaScript es un lenguaje de scripts, interpretado y multiplataforma. Los autores inicialmente lo

llamaron Mocha y más tarde LiveScript pero fue rebautizado como JavaScript en un anuncio

conjunto entre Sun Microsystems y Netscape, el 4 de diciembre de 1995. Es utilizado

principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C.

Es un lenguaje basado en objetos, dispone de “herencia”, si bien esta se realiza siguiendo el

paradigma de programación basada en prototipos, ya que las nuevas clases se generan clonando

la clase base (prototipos) y extendiendo su funcionalidad. [8]

Todos los navegadores modernos interpretan el código JavaScript integrado dentro de las páginas

web. Tradicionalmente, se venía utilizando en páginas web HTML, para realizar tareas y

operaciones en el marco de la aplicación únicamente cliente, sin acceso a funciones del servidor.

JavaScript no es la única tecnología que puede dar vida al contenido web monótono, este se

auxilia de otras como HTML y CSS para lograr sus objetivos. Para interactuar con una página

web se provee al lenguaje JavaScript de una implementación del DOM. JavaScript interpreta en

el agente de usuario al mismo tiempo que las sentencias van descargando junto con el código

HTML.

En 1997 los autores propusieron JavaScript para que fuera adoptado como estándar de la

European Computer Manufacturers' Association ECMA, que a pesar de su nombre no es

europeo, sino internacional, con sede en Ginebra. En junio de 1997 fue adoptado como un

estándar ECMA, con el nombre de ECMAScript. Poco después también lo fue como un estándar

ISO.

Page 32: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

18 

1.8.3 HTML, lenguaje de marcado hipertexto:

HTML, siglas de HyperText Markup Language (Lenguaje de Marcas de Hipertexto), es el

lenguaje de marcado predominante para la construcción de páginas web. La primera descripción

de HTML disponible públicamente fue un documento llamado HTML Tags (Etiquetas HTML),

publicado por primera vez en Internet por Tim Berners-Lee en 1991. HTML también es usado

para referirse al contenido del tipo de MIME text/html o todavía más ampliado como un término

genérico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores)

o en forma descendida directamente de SGML (como HTML 4.01 y anteriores). [9, 10]

HTML es usado para describir la estructura y el contenido en forma de texto, así como para

complementar el texto con objetos tales como imágenes. HTML escribe sus elementos en forma

de "etiquetas", rodeadas por corchetes angulares (<,>). Con él es posible describir, hasta cierto

punto, la apariencia de un documento, además tiene la capacidad de contener scripts (por

ejemplo en lenguaje JavaScript), el cual puede afectar el comportamiento de navegadores web.

1.8.4 CSS - Cascading Style Sheets (Hojas de estilo en cascada)

Es un lenguaje formal usado para definir la presentación de un documento estructurado escrito en

HTML o XML (y por extensión en XHTML). El desarrollo de la CSS se basa en la idea de

separar la estructura de un documento de su presentación. Como ejemplo, para una mayor

comprensión, si se tiene el elemento de HTML <h1> indica que un bloque de texto es un

encabezamiento y que es más importante que un bloque etiquetado como <h2>. Si la etiqueta

<h1> se quería presentar con un diseño consistente para una página, en versiones más antiguas

de HTML era necesario incluir dentro de cada etiqueta <h1> atributos extras para darle formato,

color, tamaño de fuente, etc., además provocaba el envío de código repetido al navegador.

Cuando se utiliza CSS, la etiqueta <h1> no debe proporcionar información sobre cómo va a ser

visualizada, solamente marca la estructura del documento. La información de estilo separada en

una CSS especifica cómo se ha de mostrar el color, fuente, alineación del texto, tamaño, y otras.

Las ventajas de utilizar CSS son: [11]

Control centralizado de la presentación de un sitio web completo con lo que se agiliza de

forma considerable la actualización del mismo.

Page 33: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

19 

Los Navegadores permiten a los usuarios especificar su propia hoja de estilo local que

será aplicada a un sitio web, con lo que aumenta considerablemente la accesibilidad. Por

ejemplo, personas con deficiencias visuales pueden configurar su propia hoja de estilo

para aumentar el tamaño del texto o remarcar más los enlaces.

Una página puede disponer de diferentes hojas de estilo según el dispositivo que la

muestre o incluso a elección del usuario. Por ejemplo, para ser impresa, mostrada en un

dispositivo móvil, o ser "leída" por un sintetizador de voz.

El documento HTML en sí mismo es más claro de entender y se consigue reducir

considerablemente su tamaño (siempre y cuando no se utilice estilo en línea).

Antes de que estuviera disponible CSS, la única forma de componer espacialmente una página

era el uso de tablas. Aunque es una técnica cómoda y versátil, se está usando un elemento con

una semántica particular, que es la de expresar información tabular, solamente por su efecto en la

presentación. La introducción de CSS ha permitido en muchos casos reemplazar el uso de tablas.

Sin embargo CSS todavía no permite la versatilidad que ofrecían las tablas, lograr un

diagramado de una página compleja suele ser una tarea difícil en CSS y las diferencias entre

navegadores dificultan aún más la tarea.

1.8.5 DOM - Document Object Model (Modelo en Objeto del Documento)

Es una interfaz de lenguaje neutral, también se puede definir como una API. Esencialmente,

comunica los documentos HTML y XML con los scripts o los lenguajes de programación, lo que

permite que ellos accedan y modifiquen dinámicamente contenidos, estructuras y estilos. Su

objetivo es ofrecer un modelo orientado a objetos para el tratamiento y manipulación tanto en

tiempo real o estático de páginas de Internet. A medida que fue evolucionando, se consideraron

las características de todos los elementos (existentes en los archivos HTML y XML) como

objetos computacionales con la capacidad de ser obtenidos y modificados. Además en las

especificaciones se incluyó la manipulación de eventos en el navegador, la capacidad de

interacción con CSS, y la manipulación de partes del texto en las páginas web.

El DOM define la manera en que objetos y elementos se relacionan entre sí en el navegador y en

el documento. Cualquier lenguaje de programación adecuado para el desarrollo de página web

Page 34: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

20 

puede ser utilizado para acceder al DOM. Cuando se utiliza JavaScript, cada objeto tiene un

nombre, el cual es exclusivo y único. Cuando existe más de un objeto del mismo tipo en un

documento web, estos se organizan en un vector. Algunos nombres de objetos comunes son

window, document, body, div y p. [12, 13]

Un evento desde el punto de vista computacional ocurre cuando alguna situación cambia en la

computadora, como por ejemplo la posición del ratón, la opresión de alguna tecla, los contenidos

de alguna de las memorias, la condición de la pantalla, etc. En la creación de páginas web estos

eventos representan la interacción de la computadora con el usuario o acciones que se ejecutan

cada cierto tiempo. Cuando algunos de estos eventos ocurren, como por ejemplo la presión de

algún botón del ratón, se desea que la computadora responda de alguna manera. Esa es la razón

por la que existen "event handlers" (encargados de manipular eventos), los cuales son objetos

que responden a eventos.

1.9 Problemas de compatibilidad entre navegadores WEB.

El W3C, es el consorcio encargado de definir los estándares de la web. Para que todos los

fabricantes de navegadores pudieran adoptarlo, facilitando la compatibilidad plena entre ellos,

decidió crear un modelo de objetos único, el DOM. No obstante algunos fabricantes han creado o

modificado estos, entre los que se encuentra Microsoft que ha añadido su propia extensión al

DOM, creando problemas de interoperabilidad entre los navegadores web. Como el navegador

Internet Explorer 6 es del año 2002 y viene incluido en las principales instalaciones del sistema

operativo Windows, que es usado en un por ciento altísimo de las PCs de escritorio, lo hace el

navegador web estándar de facto, lo que trae un problema real a desarrolladores más

comprometidos con los estándares, como es el caso de Mozilla.

Uno de los principales problemas está dado con las CSS entre navegadores, e incluso en

ocasiones entre versiones diferentes del mismo navegador. Estas diferencias pueden apreciarse

desde el posicionamiento de elementos dentro del documento hasta la no existencia de reglas que

a veces hacen el trabajo bastante complicado. Una de las mejores soluciones a estas dificultades

es tener instalados algunos de los principales navegadores existentes e ir probando cómo se va

visualizando la página a medida que se construye. No hay una solución real a esto, salvo la

Page 35: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 1: Selección del escenario computacional del trabajo.

21 

experiencia que se gana a medida que se crean más páginas y, por suerte, en Internet podemos

encontrar muchas soluciones a problemas presentados que fueron resueltos por otros creadores.

La opinión general parece indicar que esto cambiará sólo si nuevos navegadores que respeten los

estándares ganan una cuota de mercado significativa en la web, de forma que el uso de

extensiones no estándares se convierta en un problema comercial para los autores de los sitios

web que las usen. Como ya está pasando con Mozilla Firefox, Opera, Safari y Chrome, los cuales

desde hace varios años viene incrementando su utilización en PCs; en vez de Internet Explorer

de Microsoft. [14]

Page 36: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

22 

Capitulo 2. Diseño e implementación del sistema.

En el presente capítulo se abordan los aspectos relacionados con la arquitectura del sistema

haciendo hincapié en las tres etapas del desarrollo del software: análisis, diseño e

implementación. El primer epígrafe se realiza un análisis del entorno orientado a objetos con

UML (Lenguaje Unificado de Modelado) exponiendo los diferentes diagramas que permiten

modelar, construir y documentar los elementos esenciales que forman el sistema. En los restantes

epígrafes se explicarán las herramientas y métodos utilizados en la realización del sistema y la

lógica del negocio.

2.1 Etapa de análisis y diseño del sistema:

Una vez obtenida la documentación legal y la caracterización de los procesos de planificación y

control, establecidas por la Dirección de Alimentación, se pasa a adaptar estos para obtener un

mejor desempeño en su automatización. Como punto de partida el almacén se organiza en forma

de árbol, aquí se mezclan categorías y productos, se tiene en cuenta que una categoría pertenece

siempre a otra (hay una categoría base de todas) y un producto invariablemente pertenece a una

categoría. La estructura mencionada se muestra en la figura 2.1, como se puede ver una categoría

puede almacenar otras categorías y productos al mismo tiempo. El sistema realiza el inventario a

través de unidades de medidas organizadas por grupos, cada unidad de medida guarda un valor

que indica su equivalencia con la unidad de medida base a la que es asignada. Los productos y

categorías son asociados a un grupo de unidades de medidas, lo cual ofrece la posibilidad de

trabajar con cualesquiera de las unidades que son equivalentes. Por lo antes expuesto, el

responsable de almacén solo debe preocuparse por introducir las cantidades y seleccionar las

unidades de medidas que vienen en los recibos o pedidos de productos. De esta manera quedan

registrados todos los movimientos de productos que se efectúan en el almacén.

Page 37: Unive rsidad Central “Marta Abreu” de Las Vill as ...

En la rea

“Registro

cuales se

categoría

elaborar

cada prod

obtenemo

hay en a

decidirá q

Los proc

hasta el a

que era

existen, y

posibilid

siempre

utilizadas

también

los indica

alización del

o de normas

e almacenan

a en aras de

un menú, es

ducto que ll

os el total g

almacén de c

qué tipos de

cesos descrit

almacén y a

necesario re

y en caso de

ad de elabo

como máxim

s de cada pr

se informa e

adores que v

Figur

l proceso de

” de cada pl

los platos,

e elaborar u

s necesario

leva un plato

general de pr

cada produc

productos v

tos anteriorm

adquirir las e

ealizar antig

ser insuficie

rar este plat

mo las que

roducto no p

en color rojo

van quedand

a 2.1 Árbol

planificació

lato, para lo

las categorí

un plato. U

entonces rea

o y la cantid

roductos par

cto y mostra

va a utilizar p

mente liberan

existencias,

guamente. S

entes se adv

to, además l

hay en exis

pueden ser m

o. Cuando se

do balancead

Capitulo

de categoría

ón de los alim

cual se elab

as de produ

Una vez real

alizar los cá

dad de come

ra cada plato

ar estos dato

para elabora

n al encarga

además se e

Solo es prec

vierte con un

las cantidad

stencia. Por

mayores que

e elabora un

dos, utilizam

o 2. Diseño e

as y producto

mentos es n

oró una estr

ctos y las ca

lizado este

álculos con l

ensales que v

o, debemos

os al encarga

ar el plato y q

ado de elabo

evitan los co

ciso fijarse a

color rojo, l

es que se ut

último, la s

las cantidad

n menú, para

mos el color v

e implement

os

ecesario ten

ructura de va

antidades re

proceso est

las cantidade

van a consum

consultar la

ado de elabo

qué cantidad

orar el menú

omplejos y t

ahora en las

lo cual infor

tilizan de ca

suma total d

des necesaria

a tener una i

verde, lo cua

ación del sis

ner almacena

arias tablas e

equeridas de

amos listos

es necesaria

mir éste. Cu

s existencia

orar el menú

d.

ú de tener q

tediosos cál

s cantidades

rma que no e

ada producto

de las cantid

as; este prob

idea más cla

al informa q

stema

23 

ado el

en las

cada

para

as por

uando

s que

ú, así

que ir

culos

s que

existe

o son

dades

blema

ara de

que la

Page 38: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

24 

cantidad utilizada de un producto es igual a la cantidad necesaria para elaborar el plato. Una vez

elaborado el menú, como cada producto tiene una serie de valores nutritivos, es posible realizar,

por cada plato del menú, los cálculos de los valores nutricionales, lo cual se logra mediante el

sistema que suma los productos que son ingredientes de los platos.

El análisis y diseño de sistemas es una guía que permite estructurar el proceso de desarrollo de

proyectos de software. Se trata básicamente de determinar los objetivos y límites del sistema

objeto de análisis, caracterizar su estructura y funcionamiento, marcar las directrices que

permitan alcanzar los objetivos propuestos y evaluar sus consecuencias. Se puede afirmar que

esta etapa es de vital importancia en el ciclo de vida del proyecto, pues este procedimiento

permite reducir al mínimo el riesgo de fracaso de nuevos proyectos, ya que la instalación de un

sistema sin la adecuada planificación puede conducir a grandes frustraciones y ocasionar que el

mismo sea subutilizado, o peor aún, deje de ser utilizado al no cumplir con las expectativas que

le dieron origen. [15]

Seguidamente se muestran los diferentes diagramas que componen el modelado del software

(diagrama de actividades, diagrama de casos de uso, diagrama de navegación para cada actor,

diagrama de despliegue, diagrama de base de datos), además se exponen los actores que

intervienen en el sistema y sus funcionalidades, así como las especificaciones de los casos de uso

más importantes mediante las Tablas de Eventos.

2.1.1 Diagrama de actividades

El diagrama de actividades representa los flujos de trabajo paso a paso del proceso y las

interacciones de los componentes en el Sistema, lo que es provechoso para entender el

comportamiento de alto nivel de la ejecución del sistema, sin profundizar en los detalles internos.

El diagrama correspondiente al sistema se puede ver en el Anexo # 2.

2.1.2 Modelo de casos de uso

Después de profundizar en los aspectos de trabajo donde se emplazará el sistema, mediante el

modelado del negocio y con la utilización de este como referencia se elaboró el modelo de casos

Page 39: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

25 

de uso como parte del proceso de captura de requisitos, identificando un actor por cada actor del

negocio que se convertirá en usuario del sistema y luego definiendo sus casos de uso según los

roles en que participe.

Actores y casos de uso del sistema:

Figura 2.2 Casos de uso del actor Director

Figura 2.3 Casos de uso del actor Almacenero

Page 40: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

26 

Figura 2.4 Casos de uso del actor Planificador

Figura 2.5 Casos de uso del actor Administrador

Page 41: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

27 

2.1.3 Descripción de los casos de uso principales de cada actor

Para que sea posible realizar cualquiera de los casos de uso que a continuación se describen, los

actores implicados en ellos deben haber iniciado sesión en el sistema, para tener acceso a las

acciones correspondientes de cada caso de uso. En el Diagrama de estados del sistema podemos

ver el proceso que es necesario seguir para llegar a cada uno de ellos. Las especificaciones de los

casos de uso se hacen de forma tabular mediante una Tabla de Eventos que muestra la

interacción entre los actores y el sistema.

Descripción del caso de uso “Actualizar inventario”

El actor almacenero selecciona dentro de “Almacén” la opción “Productos”, seguidamente

podrá ver el listado de todas las categorías de los productos del sistema así como los productos

que pertenecen a estas categorías. Aquí tiene la posibilidad de realizar las operaciones de

“Extracción” ó “Depósito” de un producto en el almacén respectivamente.

Tabla 2.1 Tabla de eventos para el caso de uso “Actualizar inventario”.

Caso de Uso: Actualizar inventario.

Actores: Almacenero.

Propósito: Actualizar las existencias de productos que hay en el almacén.

Resumen: El almacenero actualiza las existencias de los productos mediante depósitos o extracciones introduciendo los datos necesarios.

Tipo: Primario y esencial.

CURSO NORMAL DE LOS EVENTOS

QUÉ HACE EL ACTOR QUÉ HACE EL SISTEMA

1. Seleccionar haciendo clic en el link

“Extracción” o “Depósito” del producto

correspondiente.

2. Muestra el formulario de extracción o

depósito del producto seleccionado.

Page 42: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

28 

3. Introduce un texto que indica el origen

de la operación que se está realizando, un

número que representa la cantidad del

producto, y selecciona una unidad de medida

para la cantidad antes introducida.

4. Dar clic en el botón “Guardar” 5. Verifica, convierte a la unidad de medida

base e inserta los datos en la tabla

correspondiente de la base de datos.

Cursos alternos:

El almacenero introduce una cantidad que no es un número o es un valor negativo.

Indicar error mostrando al usuario que debe cambiar este valor.

Descripción del caso de uso “Planificar menú”:

El actor planificador selecciona dentro de “Menú” la opción “Elaborar menú”, a continuación

podrá ver el listado de todos los menús elaborados en el sistema; tiene además la posibilidad de

hacer una selección de los menús por días en el calendario. A continuación debe seleccionar la

opción “Agregar nuevo menú”.

Tabla 2.1 Tabla de eventos para el caso de uso “Planificar menú”.

Caso de Uso: Planificar menú.

Actores: Planificador.

Propósito: Planificar un menú con los platos seleccionados.

Resumen: Elaborar un menú con los platos seleccionados y actualizar las existencias de los productos utilizados en este proceso.

Tipo: Primario y esencial.

 

Page 43: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

29 

CURSO NORMAL DE LOS EVENTOS

QUÉ HACE EL ACTOR QUÉ HACE EL SISTEMA

1. Selecciona una fecha en el calendario. 2. Actualiza el encabezado de la tabla platos

del sistema y muestra la fecha anteriormente

seleccionada.

3. Selecciona el comedor donde se está

elaborando este menú.

4. Actualiza el encabezado de la tabla platos

del sistema y se muestra el nombre del

comedor seleccionado.

5. Selecciona qué tipo de menú se está

elaborando.

6. Muestra los comensales correspondientes

con este tipo de menú y actualiza el

encabezado de la tabla platos del sistema

mostrando el nombre del tipo de menú que se

está elaborando.

7. Introduce la cantidad de comensales por

cada tipo de comensal.

8. Actualiza los comensales de cada plato

seleccionado.

9. Escoge una categoría de platos. 10. Muestra los platos asociados a esta

categoría.

11. Escoge un plato. 12. Agrega el plato a la lista de platos del

menú y actualiza las existencias de los

productos asociados a este plato.

13. Selecciona los comensales que van a

utilizar este plato.

14. Según la norma del plato y la cantidad de

comensales se actualiza la cantidad necesaria

de cada producto que tiene que existir en

almacén para elaborar este plato.

Page 44: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

30 

15. Escoge las cantidades de cada producto

que van a ser utilizadas en este plato.

16. Actualiza las existencias generales del

menú, y realiza las sumas por categorías de

productos de las cantidades utilizadas en este

plato.

17. Da clic en el botón “Guardar menú” 18. Guarda el menú con los comensales y

productos asociados a cada plato.

Cursos alternos:

Si las celdas de cantidades utilizadas son mayores que las cantidades necesarias, en estas

celdas se muestran advertencias en color rojo las cuales indican que se está utilizando

más producto del necesario para elaborar este plato.

Si las celdas de cantidades necesarias son mayores que las de existencia, en las celdas de

existencias se muestran advertencias en color rojo las cuales indican que no existe

suficiente cantidad de este producto en el almacén para elaborar el plato.

Si las cantidades necesarias son iguales a las cantidades utilizadas se muestran las celdas

de cantidades utilizadas en verde, las cuales indican que estos productos están ajustados a

las normas requeridas por el sistema.

2.1.4 Diagrama de navegación del sitio

Para ofrecer una idea de cómo es la navegación en el sitio y cómo están dispuestas las diferentes

opciones se muestra el Anexo # 3.

2.1.5 Diagrama de despliegue

Los Diagramas de despliegue muestran la disposición física de los distintos nodos que componen

un sistema y el reparto de los componentes sobre los mismos. La vista de despliegue representa

la disposición de las instancias de componentes de ejecución en instancias de nodos conectados

por enlaces de comunicación, además permite determinar las consecuencias de la distribución y

la asignación de recursos.

Page 45: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

31 

El Sistema de Control de Alimentación se ejecutará sobre un nodo servidor y un cierto número

de nodos cliente. En el nodo servidor se ejecuta la capa de servicios de datos (base de datos). La

capa de servicios de negocio (lógica de la aplicación), se ejecuta tanto en el servidor como en el

cliente. Los usuarios finales, o sea los actores que interactúan con el sistema acceden a él

mediante nodos cliente, donde se ejecuta la capa de servicios de usuario (interacciones de los

usuarios) autentificándolos. Estos nodos se comunican mediante el protocolo TCP/IP; véase la

figura que se presenta a continuación:

Figura 2.6 Diagrama de despliegue

2.2 Diseño de la base de datos.

Después de realizar un detallado análisis del proceso de gestión en la Dirección de Alimentación,

de la información que se tramita en el mismo a partir de las entrevistas efectuadas a los

especialistas y del estudio de los documentos, registros y modelos se identificaron las siguientes

entidades que se encuentran en el Anexo # 4.

2.3 Herramientas utilizadas para el desarrollo del sistema

Adobe Fireworks CS3:

Completa y popular herramienta capaz de crear y optimizar imágenes para la web, así como para

diseñar rápidamente prototipos de sitios web. Brinda una de las formas más simples de crear,

optimizar y exportar gráficos interactivos en un entorno único y centrado en la web. Automatiza

Page 46: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

32 

el proceso de producción de gráficos web, crea múltiples gráficos a partir de una sola fuente de

datos y gana tiempo para lograr diseños integrales y racionalizados. [16]

Funciones principales:

» Posibilidad de edición de mapas de bits y vectores.

» Optimización de imágenes.

» Organización jerárquica de las capas.

» Efectos de luz y de sombras, estilos y modos de fusión.

» Utilización de una biblioteca común de símbolos gráficos, símbolos de texto y

animaciones que se usan con frecuencia en aplicaciones, formularios, interfaces y sitios

web.

» Integración optimizada de Dreamweaver y Flash.

Adobe Dreamweaver CS3:

Diseña, desarrolla y actualiza los sitios y aplicaciones web de forma rápida y sencilla.

Creado para diseñadores y desarrolladores, ofrece la posibilidad de trabajar con una interfaz

visual intuitiva o en un entorno de codificación agilizado. La integración inteligente con Adobe

Fireworks CS3 garantiza un flujo de trabajo eficaz con el uso de esta herramienta. Ofrece,

además, una compatibilidad total con CSS y una amplia compatibilidad con las principales

tecnologías de desarrollo web, incluidas HTML, XHTML, XML, JavaScript, Ajax, PHP, Adobe

ColdFusion, ASP, ASP.NET y JSP.[17]

Aptana Studio:

Aptana Studio es un IDE de desarrollo para aplicaciones de la web 2.0, gratuito, código libre,

con soporte Ajax, PHP, Ruby on Rails, Adobe Air, iPhone, etc. Con Aptana se facilita el

desarrollo y la integración entre los módulos programados en los lenguajes PHP y JavaScript,

proporciona también una rápida detección de errores en esos lenguajes y un fácil tránsito entre

los módulos ya elaborados, lo que permite ahorrar tiempo que muchas veces perdemos en estos

detalles.[18]

Aptana está basado en el conocido entorno de desarrollo Eclipse (IDE = Integrated Development

Environment), también Open Source. Pero mientras que Eclipse está focalizado en el desarrollo

Page 47: Unive rsidad Central “Marta Abreu” de Las Vill as ...

para Jav

HTML, C

2.4 Diseñ

La realiz

visual qu

programa

para el u

En el di

imágenes

correspon

a, Aptana S

CSS y Javas

ño de la inte

zación de un

ue resulte fá

a Adobe Fire

suario, sin re

iseño final,

s dinámicas

ndencia con

Studio es un

cript, así com

erfaz visual.

n diseño web

ácil y agrada

eworks CS3

ealizar much

como se m

s (con fine

las peticion

na distribuci

mo opcional

.

b o plantilla

able para los

; se tuvo en

has variacion

muestra, se m

s decorativo

nes realizadas

Figura 2.7

Capitulo

ión focaliza

lmente a otra

es el primer

s usuarios. E

cuenta que

nes entre las

mantienen c

os) y la de

s.

Diseño del s

o 2. Diseño e

da en el de

as tecnología

r paso neces

Esta se logró

este diseño

s distintas pá

constantes t

e contenido

sistema.

e implement

esarrollo web

as.[19]

sario para lo

ó mediante

fuera lo más

áginas que co

odas sus pa

o dinámico

ación del sis

b, con sopo

ograr una int

la utilizació

s sencillo po

omponen el

artes except

que cambi

stema

33 

orte a

terfaz

ón del

osible

sitio.

to las

ia en

Page 48: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Pie de

Cont

diná

Im

di

- Cab

- Me

tien

- Sub

sele

- Imá

imá

- Cal

cua

- Con

med

aso

- Pie

del

e página 

Cabecera 

tenido 

ámico 

mágenes 

námicas 

becera: se m

enú principa

ne acceso un

bmenú asoc

eccionada aq

ágenes diná

ágenes que c

lendario o C

adro de inicio

ntenido din

diante las b

ociado a su a

e de página:

sistema.

muestra el lo

al: es el men

n usuario des

ciado al men

quí se muest

ámicas: su

cambian cada

Cuadro de i

o de sesión e

námico: cu

barras de nav

cción.

muestra la i

Figura 2.8

ogotipo, nom

nú de navega

spués de inic

nú principa

ran las sub-o

fin en el

a cierto tiem

inicio de ses

en el sistema

uando el usu

vegación u

información

Capitulo

Boceto del

mbre y versió

ación del siti

ciar sesión.

al: cuando un

opciones aso

sistema es

mpo.

sión: muestra

a.

uario acced

opciones qu

n de derecho

o 2. Diseño e

diseño

ón del sistem

io. Muestra l

na de las op

ociadas a ést

decorativo

a un calenda

de a las dif

ue este nos

de autor y e

e implement

ma.

las diferente

pciones del m

te.

pues muest

ario para eleg

ferentes par

ofrece apar

el logotipo, n

ación del sis

es partes a la

menú princip

tra una seri

gir una fecha

rtes del sist

rece el conte

nombre y ve

M

C

Cu

stema

34 

as que

pal es

ie de

a o el

tema,

enido

ersión

Menú principa

Submenú 

asociado al

menú princip

Calendario o 

uadro de inici

de sesión 

pal 

Page 49: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

35 

2.5 Etapa de implementación.

Con el resultado obtenido de la etapa de análisis y diseño comenzamos la etapa de

implementación del sistema a partir de las distintas partes que lo componen, es decir, ficheros de

código en php, javascript, css y html. El objetivo de esta etapa es desarrollar la arquitectura del

sistema web como un todo. De forma más concreta los propósitos de la implementación son:

- Definir la estructura organizativa del código.

- Planificar las integraciones de sistema necesarias a medida que se completa cada

iteración.

- Implementar las funciones, clases y subsistemas o paquetes encontrados durante el

análisis y diseño.

Para alcanzar estos propósitos se elabora un diagrama de componentes del sistema (Anexo # 5)

que muestra cómo quedarán conformados los distintos tipos de paquetes y componentes que lo

integran y se realiza una breve descripción de sus partes a modo de guía para la programación de

los mismos.

El paquete de utilidades (“utils”) tiene como función principal servir de enlace entre las distintas

capas del sistema. A modo de resumen algunos de los principales ficheros que lo forman son:

- const.php: contiene declaraciones de variables globales del sistema, por ejemplo nombre

de la base de datos, servidor donde se encuentra este etc.

- communs.php: declara algunas funciones que pueden ser utilizadas por el sistema para

mostrar errores y chequear los usuarios del sistema.

- contents.php: facilita la comunicación entre el sistema y la base de datos. Sus funciones

se ocupan de cargar, mostrar y borrar los datos de los componentes del sistema, así como

de realizar consultas personalizadas a la base de datos y facilitar el despliegue de los

datos en el modelo visual del sistema.

- functions.php: contiene algunas funciones útiles para el sistema que pueden ser

utilizadas desde cualquier componente de este.

- utils.php: contiene funciones utilizadas por el núcleo del sistema que intervienen en la

resolución de llamadas a las páginas solicitadas (urls).

Page 50: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

36 

- bootstrap.php: es el controlador principal del sistema, encargado de gestionar en cada

momento qué página web fue solicitada por el usuario. Para lograr su objetivo hace un

chequeo de la url extrayendo de esta los distintos parámetros pasados por GET; además

revisa los parámetros enviados por POST y con la unión de ellos toma las decisiones

adecuadas para traducir la solicitud en una llamada a una función dentro de uno de los

componentes del sistema.

El paquete de componentes (“components”) es el encargado de la interacción entre los usuarios

y el sistema. Cada componente tiene un grupo de funciones que son utilizadas por el controlador

principal del sistema (bootstrap.php) para mostrar en cada momento las páginas solicitadas por

los usuarios del sistema. Cada componente debe llevar un nombre que será único en el sistema,

las funciones que forman parte de un componente se deben nombrar según la siguiente sintaxis

[nombre del componente]_hook, donde el hook es una palabra conocida por el sistema que

ejecuta una determinada función después de realizar los chequeos correspondientes a la solicitud

realizada. Así tenemos que algunos de los principales hook con que cuenta el sistema son:

- [nombre del componente]_attributes: cuando el componente está asociado con una tabla

de la base de datos esta función devuelve un arreglo donde se asocian las llaves del

mismo y los campos de la tabla correspondiente de la base de datos.

- [nombre del componente]_form: es el encargado de mostrar al usuario el formulario de

edición de un componente. Aquí podemos mostrar cualesquiera de las tres clases de

elementos de formularios, los cuales pueden ser de introducción de datos a través de

texto, menús o botones; además de código en Javascript que facilite la interacción del

usuario con el sistema.

- [nombre del componente]_validate: hace un chequeo de los valores introducidos por el

usuario en el formulario, en caso de error en los datos facilita la devolución del

formulario para que sea arreglado.

- [nombre del componente]_perm: realiza un chequeo del usuario que está autentificado en

el sistema verificando si tiene permisos para trabajar con este componente.

- [nombre del componente]_save: cuando los datos introducidos en el formulario son

enviados aquí se pueden realizar modificaciones de estos justo antes de ser salvados en la

base de datos.

Page 51: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

37 

- [nombre del componente]_delete: sirve para procesar los datos antes de ser eliminados

del sistema.

- [nombre del componente]_list: muestra todos los datos introducidos para este tipo de

componente, aquí el usuario puede ver, editar o borrar cualesquiera de estos.

Además de las funciones descritas anteriormente, cada módulo puede tener tantas funciones

como se desee, las cuales pueden interactuar entre ellas de la manera más conveniente para

resolver la situación o el problema que se presente.

El paquete de pieles (“skins”). El objetivo principal de este es mantener de forma uniforme

determinados aspectos visuales de sitio web, así por ejemplo tenemos los ficheros:

- header.php: muestra siempre la misma cabecera en cada página que es solicita al

sistema, se encarga de mostrar los menús con las opciones disponibles para el usuario que

está autentificado en el sistema.

- footer.php: muestra siempre el mismo pie de página en todas las solicitudes realizadas al

sistema; contiene información de derechos de autor, así como institución o empresa que

utiliza el sistema.

- skinks.php: se encarga de gestionar el mismo aspecto visual para la presentación de los

datos una vez que son introducidos por el usuario. Se utiliza principalmente en la

programación de las funciones [nombre del componente]_list de cada componente.

El paquete núcleo del menú (“kernel menu”). Está formado por 4 ficheros php, de los cuales

load.php y save.php son clases encargadas de cargar y salvar un menú respectivamente,

JSON.php es el encargado de codificar y decodificar JSON (JavaScript Object Notation) y

menu_request.php tiene como tarea procesar las peticiones realizadas por el componente de

elaboración de un menú del comedor. Por su importancia en la implementación del sistema, en

epígrafes posteriores se abordará con mayor profundidad el funcionamiento de este paquete.

El paquete javascripts de menú (“javascripts”) y el paquete Yahoo! User Interface Library

(YUI). Están formados por un conjunto de ficheros en lenguaje javascript que le brindan al

usuario una interacción más ágil con el sistema, modificando la información de la página web sin

Page 52: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

38 

tener que recargarla completamente. Por su importancia en la implementación del sistema, en

epígrafes posteriores se abordará con mayor profundidad el funcionamiento de este paquete.

2.5.1 Procedimientos almacenados y funciones de la base de datos.

El modelo de base de datos además de almacenar las tablas del sistema, como se mostró

anteriormente, tiene un conjunto de funciones auxiliares que se encargan de optimizarla. Estas

funciones tienen como propósito evitar que se realicen consultas complejas mediante código

PHP y SQL. Están programadas por medio del lenguaje PL/pgSQL  el cual añade un conjunto de

constructores de procedimientos al lenguaje básico SQL, facilitándonos de esta forma un

conjunto de instrucciones para realizar controles de flujo e iteraciones a través de los datos SQL,

sin la necesidad de salir del propio gestor, así nos entrega los datos procesados y listos según los

criterios de búsqueda introducidos en las funciones.

A modo de ejemplo tenemos las funciones siguientes:

Función 1

CREATE OR REPLACE FUNCTION "public"."function_existencias_menu" () RETURNS SETOF "temporal"."result_existencias" AS $body$ DECLARE inventario_menu_result temporal.result_existencias%ROWTYPE; inventario_menu temporal.result_existencias_productos%ROWTYPE; BEGIN FOR inventario_menu IN SELECT producto_id, sum(cantidad_utilizada) AS cantidad FROM menu__plato__producto GROUP BY producto_id ORDER BY producto_id LOOP inventario_menu_result.producto_id = inventario_menu.producto_id; inventario_menu_result.cantidad = -inventario_menu.cantidad; inventario_menu_result.operador = '-'; RETURN NEXT inventario_menu_result; END LOOP; END; $body$ LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER; 

Page 53: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

39 

Función 2

La función 1 obtiene la suma de las cantidades utilizadas por productos en todos los menús

elaborados en el sistema. La función 2 haciendo uso de la función 1 obtiene la lista de productos

con las existencias que hay en el almacén. Estas funciones pueden ser tan complejas como sea

necesario, teniendo incluso la posibilidad de introducción de parámetros que pueden ser

empleados en cualquier parte del cuerpo de la función.

2.5.2 Uso de PHP en las clases del sistema.

Dentro del paquete núcleo del menú, el fichero menu_request.php maneja las peticiones

asincrónicas que se realizan mientras se elabora un menú. Para realizar este proceso se auxilia de

la clase Services_JSON (JSON.php) que se encarga de convertir desde y hacia el formato

JSON un arreglo en PHP. El manejo de la base de datos se logra con dos clases llamadas Load

(load.php) y Save (save.php), que tienen como objetivo procesar las peticiones hechas a

menu_request.php, estas peticiones pueden ser para obtener datos que cumplan con un criterio

de búsqueda específico o para salvar datos que vienen del menú que se está elaborando; en

CREATE OR REPLACE FUNCTION "public"."function_existencias" () RETURNS SETOF "temporal"."result_existencias_productos" AS $body$ DECLARE inventario temporal.result_existencias_productos%ROWTYPE; BEGIN FOR inventario IN SELECT producto_id, sum(cantidad) AS cantidad FROM ( SELECT producto_id, sum(cantidad) AS cantidad FROM function_almacen07_suma_x_operador() GROUP BY producto_id UNION SELECT producto_id, sum(cantidad) AS cantidad FROM function_existencias_menu() GROUP BY producto_id ) AS union_inventario GROUP BY producto_id LOOP RETURN NEXT inventario; END LOOP; END; $body$ LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;

Page 54: Unive rsidad Central “Marta Abreu” de Las Vill as ...

ambos c

Services_

2.5.3 U

La mayo

procesad

varias cla

(YUI) ha

libertad a

tenga que

menú a la

escritorio

2.5.3.1 Y

Esta libr

excelente

DHTML

casos los r

_JSON que

Uso de JavaS

or parte de la

dos en págin

ases en Java

acen que el

al usuario p

e refrescarse

a vista del u

o.

Yahoo! User

rería es un

e para el des

L y AJAX. T

resultados d

los deja list

Script en las

as páginas w

nas anteriore

aScript que,

comportam

para poder t

e constantem

usuario, ofrec

r Interface L

conjunto d

sarrollo de a

También inc

de las cons

os para ser e

Figura

s clases del

web que con

es, para logr

en combina

miento del us

omar mejor

mente brinda

ciendo la sen

Library (YU

de utilidades

aplicaciones

cluye varios

Capitulo

sultas obten

enviados al c

a 2.9 Clase

sistema.

ocemos nos

rar un sitio

ación con la

suario no es

es decisione

la ventaja d

nsación de q

UI)

s y control

interactivas

recursos C

o 2. Diseño e

nidas son t

cliente.

Save.

limitan a ob

web más d

a librería Ya

sté predeterm

es. La posib

de tener todo

que está trab

es escritos

s web usand

SS como pa

e implement

transformado

btener datos

dinámico fue

ahoo! User I

minado, dán

bilidad de qu

o lo necesario

ajando con u

en lenguaje

do técnicas d

arte de su n

ación del sis

os por la

s que ya han

e necesario

Interface Li

ndole una m

ue la página

o para elabo

una aplicació

e JavaScrip

de scripts D

núcleo. Todo

stema

40 

clase

n sido

crear

brary

mayor

a no

rar el

ón de

t. Es

DOM,

os los

Page 55: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

41 

componentes se desarrollan sobre código abierto bajo la licencia BSD y son de uso gratuito para

los usuarios. Los principales componentes utilizados fueron Yahoo Global Object, Connection

Manager, DataSource, JSON, Calendar y DataTable.

2.5.3.2 Clases JavaScript creadas para elaborar un menú.

Para facilitar la programación del componente menú, se utilizan o extienden en varios casos

algunas clases de la biblioteca YUI. Se define el nombre de espacio YAHOO.Alimentacion, para

seguir la estructura de la YUI donde cada clase pertenece al nombre de espacio YAHOO. Como

las nuevas clases pertenecen a YAHOO.Alimentacion.[nombre de la clase], para mayor claridad

solo se va a utilizar [nombre de la clase] para referirnos a ellas.

La clase principal en JavaScript es MenuComedor. Tiene la misión de cargar y salvar los

menús, crear, con los datos obtenidos, la mayor parte de las clases. Actúa también como punto de

enlace del sistema mediante la captura de los eventos generados por este. A modo de resumen se

podría definir como un manipulador de eventos muy valioso.

La clase MenuComedor se encarga de crear instancias de otras clases como:

- Calendario: mantiene las fechas de los menús.

- Comedor: tiene la lista de los comedores.

- TipoComida: almacena los posibles tipos de menú que se elaboran.

- Comensales: mantiene una lista de comensales asociada a un tipo de menú.

- Extras: mantiene algunos valores como los responsables de elaborar el menú, etc.

- CategoriasPlatos: un listado de categorías en las que son agrupados los platos.

- Platos: almacena los platos asociados a la categoría seleccionada.

Menu también es construida por MenuComedor, y desempeña una labor importante porque es

la encargada de la manipulación de todos los datos de un plato una vez que este es agregado al

menú que se está elaborando. Solo por citar, algunas de sus labores son: conservar el listado de

existencia de almacén, auxiliándose de la clase Existence; mediante la asistencia de la clase

Nodo y Comensales, mantiene una lista de las categorías y productos así como los comensales

asociados a cada plato respectivamente.

Page 56: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capitulo 2. Diseño e implementación del sistema

42 

Existen también dos clases llamadas CustomDataSource y CustomTable, que se encargan de

almacenar y mostrar los datos en forma tabular. Estas clases fueron programadas como parte de

una extensión a las clases DataSource y DataTable de la YUI. Sus principales ventajas radican

en que ellas facilitan la labor de presentar los datos, ahorrándonos la configuración de muchos

parámetros que son comunes para el problema que se está resolviendo.

Un resumen de los epígrafes 2.5.2 y 2.5.3 es el Diagrama de secuencia de una conexión AJAX

(Anexo # 6), que nos explica los procesos descritos en esos epígrafes, dándonos una idea más

cercana a la programación que las palabras no pueden expresar.

Page 57: Unive rsidad Central “Marta Abreu” de Las Vill as ...

C

d

Capítulo

El Sistem

las pregu

un manua

una tarea

3.1 Prese

La Figura

L

si

B

Cabecera 

dinámica 

o 3: Manual

ma de Inform

untas más fre

al de usuario

a.

entación del

a 3.1 muestr

Logotipo del

istema.

Barra de nave

l de usuario

mación y Ges

ecuentes y fa

o, el cual se

l sistema.

ra una vista g

sistema: es

egación: opc

o.

stión para la

amiliarizarse

conforma co

Figura 3.1

general del s

s una image

ciones de nav

Lo

Dirección d

e de forma rá

on los pasos

Partes del s

sistema. Las

en de adorno

vegación den

ogotipo del sis

Ca

de Alimentac

ápida y fácil

s básicos que

istema.

diferentes p

o que mues

ntro del siste

stema 

apítulo 3: M

ción, para br

con sus usu

e deben segu

partes que la

stra el logo

ema.

Manual de usu

rindar respue

uarios, cuent

uirse para rea

componen s

y el nombr

Barra 

navega

Cua

d

c

uario.

43 

esta a

a con

alizar

son:

re del

Área de 

trabajo 

de 

ación 

Sub‐barra d

navegación

adro de inicio

de sesión o 

calendario 

de 

Page 58: Unive rsidad Central “Marta Abreu” de Las Vill as ...

S

n

C

ca

fe

C

so

Á

3.2 Inicia

Lo prime

usuario y

espacio d

3.3 Barr

La barra

diferente

debemos

de botón

ub-barra de

avegación se

Cuadro de in

alendario do

echa.

Cabecera din

olo está en e

Área de traba

ar sesión.

ero que deb

y la contrase

donde genera

ra de navega

a de navega

es opciones

dar clic en

con un colo

e navegació

eleccionada.

nicio de se

onde cuando

námica: mue

el sistema co

ajo: muestra

e hacer un u

eña en el cu

almente pod

Fig

ación.

ción, despu

con que cu

ella, la que

or negro más

F

in

t

ón: opciones

.

esión o cale

o se seleccio

estra diferent

n fines deco

el contenido

usuario es a

adro de inic

demos ver el

gura 3.2 Cua

és de que e

uenta el sist

se encuentr

s fuerte. La F

Figura 3.3 B

Cuando los

ntroducidos p

tecla “Enter” 

botón “E

s que están

endario: mu

ona un día ap

tes imágene

orativos.

o acorde con

autenticarse.

cio de sesión

calendario.

adro de inici

el usuario h

tema. Para

re selecciona

Figura 3.3 m

Barra de nav

s datos son 

presionamos 

o pulsamos e

Entrar…”

Ca

n dentro de

uestra cuánd

parecen los m

es que camb

n las opcione

Para esto d

n (Figura 3.2

o de sesión

ha iniciado

seleccionar

ada en ese m

muestra la opc

vegación.

la 

el 

apítulo 3: M

la opción

do se inició

menús corres

ian cada cie

es selecciona

debe introdu

2), el cual se

sesión, nos

una de esta

momento ap

ción “Menú”

Manual de usu

de la barr

la sesión

spondientes

erto tiempo.

adas.

ucir el nomb

e encuentra

da acceso

as opciones

arecerá en f

” seleccionad

uario.

44 

ra de

o un

a esa

Esto

re de

en el

a las

solo

forma

da.

Page 59: Unive rsidad Central “Marta Abreu” de Las Vill as ...

3.4 Opci

En esta o

los produ

3.4.1 O

Las unid

las norm

contener

unidad qu

Como se

 

ión “Almacé

opción podre

uctos del sist

Opción “Uni

ades de med

mas para la e

a otras, est

ue pertenezc

muestra en

én” de la ba

emos trabaja

tema.

idades de m

Figura 3.4

dida garantiz

elaboración d

to posibilita

ca a un mism

la Figura 3.5

F

arra de nave

ar con las un

medida” de l

4 Opción Al

zan el contro

de los menú

a que los pr

mo nivel (co

5 estas pued

Figura 3.5 U

egación.

nidades de m

a sub-barra

macén – Un

ol de los pro

ús. Están org

roductos y l

omo es el ca

den ser cread

Unidades de

Ca

medida, las c

a de navega

nidades de m

ductos que e

ganizadas en

los platos p

so de gramo

das, editadas

medida.

apítulo 3: M

categorías de

ción.

medida.

existen en al

n una jerarqu

puedan medi

o, quintal, lib

o eliminada

Muestra la 

de medi

Manual de usu

e los produc

lmacén, así c

uía, unas pu

irse en cual

bra y kilogra

as.

lista de unida

da. Figura 3.5

uario.

45 

ctos y

como

ueden

lquier

amo).

ades 

Page 60: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Crea

- E

d

- E

un

3.4.2 O

Los prod

categoría

Sal

ar una unida

Editar una u

e cambiar to

Eliminar un

nidad si pres

Opción “Cat

F

ductos debe

a para los pro

Muest

categor

var los camb

ad de medid

Figura 3

unidad de m

odos los dato

na unidad d

sionamos “S

tegorías de p

Figura 3.7 O

en organizar

oductos, edit

tra la lista de 

rías. Figura 3.8

ios 

da:

3.6 Crear o e

medida: Se m

os que aparec

de medida:

Sí” en el botó

productos”

Opción Categ

rse por cate

tarla o elimin

editar una un

muestra la m

cen en ella.

Cuando se

ón de confirm

de la sub-b

gorías – Cate

egorías. Aqu

narla (Figur

mo va a ser m

Ca

nidad de med

misma Figura

leccionamos

mación.

barra de nav

egorías de p

uí tenemos

a 3.8).

Seleccio

caso de

la opció

Cuál es

unidad

mostrada cua

apítulo 3: M

dida.

a 3.6. Tenem

s esta opció

vegación.

roductos

la posibilid

onamos  la un

e ser  la nuev

ón “Ninguna” 

s la equivalen

d base. 

Nombre de

ndo se quiera

Manual de usu

mos la posibi

ón eliminam

dad de crear

nidad de med

a unidad bas

ncia entre est

e la unidad de

a cambiar ent

uario.

46 

ilidad

mos la

r una

dida base, en

se escogemos

ta unidad y su

e medida 

tre unidades

Page 61: Unive rsidad Central “Marta Abreu” de Las Vill as ...

- C

- E

to

- E

co

3.4.3 O

Mue

producto

catego

Crear una ca

Editar una c

odos los dato

Eliminar un

onfirmación

Opción “Uni

estra la lista d

os asociados 

orías. Figura 3

Fi

ategoría:

Figura 3.9 C

categoría: Se

os que apare

a categoría

n “Sí” que ap

idades de m

a sus 

3.11 

Crear

categ

igura 3.8 Ca

Crear o edita

e muestra la

cen en ella.

: Se puede

parece cuand

medidas” de

Fi

r una 

goría 

Presion

ategorías de p

ar una catego

a misma Figu

eliminar una

do presionam

la sub-barr

igura 3.10 O

Se

as

un

E

namos el botó

Ca

productos.

oría de un pr

ura 3.9. Ofre

a categoría s

mos este botó

ra de navega

Opción Alm

Ed

ca

Eliminar las 

categorías

Selecciona

caso de n

eleccionamos

sociados  a  e

nidad de med

Escribimos un

ón para salva

apítulo 3: M

roducto.

ece la posibi

si se selecci

ón.

ación.

macén – Unid

ditar las 

tegorías 

amos una cat

no tener esco

s una unidad 

esta  categorí

dida. 

n nombre. 

r los datos. 

Manual de usu

ilidad de cam

iona la opció

dades de med

tegoría padre

ogemos “Ning

de medida. L

ía  se  mostra

uario.

47 

mbiar

ón de

didas.

 

e, en el 

guna”. 

Los productos

arán  en  esta

Page 62: Unive rsidad Central “Marta Abreu” de Las Vill as ...

La Figura

Los prod

mediante

o “Extrac

elaborar

-

-

-

-

 

a 3.11 mues

ductos puede

e las operaci

cciones”, cua

un menú.

Crear un

Editar un

Eliminar

presionam

Extracció

operacion

tra los produ

en ser creado

ones de “De

ando es nece

n producto:

n producto:

r un product

mos “Sí” en e

ón o Depó

nes son los m

uctos (en col

os, editados

epósito”, en

esario sacar

Figura 3

Figura 3.12.

Figura 3.12

to: Cuando

el botón de c

ósito: Los d

mismos para

lor azul) org

o eliminado

el caso de q

una cantidad

3.11 Produc

.

2.

seleccionam

confirmación

datos que h

ambas. Figu

Ca

ganizados po

os. Cada pro

que lleguen p

d de product

ctos.

mos esta opci

n.

hay que int

ura 3.13.

apítulo 3: M

or categorías

ducto actual

productos nu

to del almacé

ión eliminam

troducir par

Manual de usu

(en color ne

liza su inven

uevos al alm

én que no es

mos el produ

ra realizar

uario.

48 

egro).

ntario

macén,

s para

cto si

estas

Page 63: Unive rsidad Central “Marta Abreu” de Las Vill as ...

“Depósit

“Extracc

to” o 

ción” 

Guard

Figu

Figura 3.1

dar los cambi

ura 3.12 Cre

3 Operacio

ios 

Se

Se

El p

unid

Ejem

cues

Cuánto 

nutricio

 

ear o editar u

ones de Depó

Nombre 

eleccionamos

eleccionamos

Escribimos u

recio que cue

dad de medid

mplo:  Si  sele

sta adquirir 1 

aporta este p

nales.

Ca

un producto.

ósito o Extra

del producto

Cuanto se va

este produc

s la categoría 

s la unidad de

n nombre. 

esta adquirir

a seleccionad

eccionamos  “

Kilogramo de

producto en 

apítulo 3: M

.

acción.

o  D

d

En

es

a a sacar o po

to

a la que pert

e medida. 

 1 de este p

da. 

“Kilogramo” 

e este produc

cada uno de 

Manual de usu

De dónde vien

donde va el p

n qué unidad 

stá la cantidad

oner de 

tenece. 

roducto en  la

sería  cuánto

cto. 

estos valore

uario.

49 

ne ó para 

roducto. 

de medida 

d

Page 64: Unive rsidad Central “Marta Abreu” de Las Vill as ...

3.5 Opci

Esta opc

informes

3.5.1 O

Los plato

posible e

los platos

- C

(F

ión “Menú”

ión permite

relacionado

Opción “Cat

os que exist

esta opción p

s asociados a

Crear una c

Figura 3.16)

” de la barra

trabajar con

os con los me

tegorías de p

Figura 3.14

ten en el m

permite crear

a una catego

F

categoría: D

.

Figura 3.16

a de navega

n los platos

enús elabora

platos” de l

Opción Ca

menú deben e

r, editar, bor

oría (Figura 3

Figura 3.15

Debemos in

6 Crear o ed

ción.

y sus categ

ados.

a sub-barra

ategorías – C

estar organi

rrar, listar la

3.15).

Categorías d

ntroducir un

ditar una cat

Li

Ca

gorías, elabo

a de navega

Categorías de

zados por c

s categorías

de platos.

n nombre y

tegoría de un

Muestra

de cate

Figura

star los plato

a una cate

Edit

cat

apítulo 3: M

orar los men

ción.

e platos.

categorías, p

de los plato

presionar e

n plato.

a la lista 

egorías 

 3.15

s asociados 

egoría

tar una 

tegoría 

Eliminar una

categoría 

Manual de usu

nús y genera

para que esto

os, así como

el botón gu

 

uario.

50 

ar los

o sea

listar

uardar

Page 65: Unive rsidad Central “Marta Abreu” de Las Vill as ...

- E

h

gu

- L

li

- L

un

- E

ac

ca

3.5.2 O

Los plato

un menú

- C

- E

- E

pr

M

qu

m

Editar una c

abía asignad

uardar para

Listar todas

istan todas la

Listar los pla

na categoría

Eliminar un

ctiva esta op

aso de que s

Opción “Plat

os están form

. Como mue

Crear un pla

Editar un pla

Eliminar un

resionamos

uestra  los  p

ue puede ser

enú. Figura 3

categoría: S

do cuando

salvar los ca

las categor

as categorías

atos asociad

a.

na categoría

pción debem

e quiera can

tos” de la su

Fi

mados por u

estra la Figur

ato: Figura 3

ato: Figura 3

n plato: C

“Sí” en el bo

platos  con  lo

 elaborado u

.18 

Se muestra l

se creó. Aq

ambios.

rías: Cuand

s que hay en

dos a una ca

a: Nos da la

mos confirm

ncelar la acci

ub-barra de

igura 3.17 O

n conjunto d

ra 3.18 un pl

Figura

3.19.

3.19.

Cuando sele

otón de conf

os 

un 

la misma Fi

quí podemo

do presionam

el sistema. (

ategoría: Mu

a posibilidad

mar la elimin

ión seleccion

e navegación

Opción Menú

de productos

lato puede se

a 3.18 Plato

eccionamos

firmación.

Ca

gura 3.16 p

os cambiar e

mos la opció

(Figura 3.14

uestra una lis

d de elimina

nación selec

namos el bot

n.

ú – Platos.

s y sus norm

er creado, ed

os.

esta opció

apítulo 3: M

ero con el n

este nombre

ón “Categor

4)

sta con los p

ar una categ

ccionando el

tón “No”.

mas, los cual

ditado o elim

ón eliminam

Manual de usu

nombre que

e y presion

ías de plato

platos asocia

goría. Cuand

l botón “Sí”

les son la ba

minado.

mos el plat

uario.

51 

se le

namos

os” se

ados a

do se

”. En

ase de

to si

Page 66: Unive rsidad Central “Marta Abreu” de Las Vill as ...

L

v

p

Prec

pagar 

po

El ejemp

categoría

Pollo troc

ingredien

La cantidad q

va a ser servid

para un come

cio que debe

los trabajado

or este plato. 

Incluir:

produc

de  elab

produc

Grupo:

con cua

otro ing

Norma

U/M: U

Nombr

plo de la Fi

a Cárnicos, e

ceado ó cual

ntes son los

ue 

da 

ensal 

ores 

  Si  seleccion

ctos que perte

borar  el  me

ctos. 

 Todos  los p

alquier comb

grediente má

: Cantidad qu

Unidad de me

re: Nombre d

Fi

gura 3.20 m

esto quiere

lquier combi

condimento

A  qué  cate

cuando va

namos  esta 

enecen a ella

nú  puede  co

roductos o c

binación de el

ás que sirve p

ue es necesar

edida de la no

e la categoría

gura 3.19 C

muestra un p

decir que el

inación que

s, aquí no se

egoría  perten

n a ser selecc

opción  en  u

 serán incluid

ompletar  est

ategorías que

llos. Si están 

ara elaborar 

ria para elabo

orma. 

a o el product

Crear o edita

plato elabora

l plato debe

se quiera de

e ha seleccio

nece  el  plato

cionados para

una  categoría

dos como pos

te  ingredient

e pertenecen

en grupos di

el plato. 

orar un plato d

to. 

Ca

ar un plato.

ado. Como

llevar 20 g

e cada uno co

onado una ca

o,  se  utiliza  p

a formar parte

a  (en  color 

sibles ingredie

te  con  cualq

n a un mismo

ferentes los p

de una catego

apítulo 3: M

se ve se ha

gramos de C

omo 8 y 12,

ategoría, se h

para  organiza

e de un menú

negro  o  bla

entes del plat

quier  combin

o grupo pued

productos o c

oría o un prod

Unidad

Manual de usu

a selecciona

Cerdo en ban

5 y 15 etc. O

han seleccio

ar mejor  los 

ú 

nco),  todos 

to. El encarga

nación  de  es

den completa

categorías se

ducto. 

d de medida 

uario.

52 

do la

nda o

Otros

onado

 

platos 

los 

ado 

stos 

arse 

erán 

de la ración

Page 67: Unive rsidad Central “Marta Abreu” de Las Vill as ...

3 produc

de Ajo,

Frijoles n

3.5.3 O

M

elab

ctos y se han

1 gramo de

negros, del c

Opción “Men

Muestra los m

borados. Figu

n puesto en g

Cebolla y

cual lleva 15

Figura

nús” de la s

Fig

menús 

ura 3.22. 

grupos difere

0,56 gramo

0 gramos.

a 3.20 Ejem

sub-barra d

gura 3.21 O

Figura

entes, lo que

s de Sazona

mplo de un pl

de navegació

Opción Menú

a 3.22 Men

Ca

e indica que

ador. Por úl

lato elaborad

ón.

ú – Menús.

nús

Ver inform

apítulo 3: M

el plato deb

ltimo tenemo

do.

e en vista we

Ver info

Manual de usu

be llevar 1 g

os el ingred

eb 

orme en vista 

uario.

53 

gramo

diente

 

de impresiónn

Page 68: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Cuando

seleccion

derecha,

3.24) que

- C

or

Paso 1: S

Paso 2: S

Paso 3: S

revisado.

anotada.

Figura 3.23

se seleccion

namos un d

aparecen so

e pueden gen

Crear un m

rdenada, no

Seleccionar

Seleccionar

F

Seleccionar

. Además, si

3 Calendari

na la opción

ía del calen

olo los menú

nerarse a par

menú: Cuand

obstante par

la fecha de c

el comedor,

Figura 3.25

los que ela

i existe algun

io.

n menús, apa

ndario (Figu

ús elaborado

rtir de ellos.

do creamos

ra facilitar el

creación en u

tipo de com

Nuevo men

aboraron el

na observac

 

arece un lis

ura 3.23), qu

s el día sele

un menú n

l trabajo se a

una figura si

mida y escrib

nú – Comedo

menú, quié

ión durante

Ca

Figura 3.

tado de tod

ue se encue

eccionado, as

no es oblig

aconseja seg

imilar a la Fi

ir la cantidad

or y tipos de

én es el jefe

la elaboració

Clic en cada 

para escribir

apítulo 3: M

24 Icono d

os los menú

entra en la

sí como los

gatorio segui

guir los pasos

igura 3.23.

d en cada tip

e comida.

fe de turno

ón de este ta

tipo de come

r la cantidad 

Manual de usu

e informe.

ús elaborado

esquina sup

informes (F

ir una secu

s siguientes:

po de comen

y por quién

ambién pued

 

 

ensal 

uario.

54 

os. Si

perior

Figura

uencia

nsal.

n fue

de ser

Page 69: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Paso 4: S

Paso 5: C

calculada

chequear

caso de

cuando a

van a ser

utilizar “

cambiar u

un result

forman e

Clic para ag

el plato al m

Fi

Seleccionar

F

Cuando el p

as de forma

r que estas c

ser insuficie

aparece en ve

r sacadas del

Pollo trocea

un producto

ado satisfact

el plato deben

regar 

menú 

igura 3.26 N

las categoría

Figura 3.27

plato es agre

automática

cantidades ex

entes aparec

erde, en la c

l almacén pa

ado” en lugar

o; también se

torio cuando

n estar en co

Nuevo menú

as y escoger

Nuevo men

egado al me

a para cada p

xistan en alm

cerán marca

categoría que

ara elaborar

r de “Cerdo

e puede form

o se va a ela

olor verde pa

ú – Responsa

los platos qu

nú – Categor

enú las cant

producto. E

macén media

adas en colo

e agrupa a lo

este plato. E

en banda” s

mar la combi

aborar este p

ara que el pla

Clic para sele

categoría. 

Ca

ables y obser

ue van a form

rías y listas d

tidades de c

l responsabl

ante la casill

or rojo. La

os productos

En el caso d

solo es neces

inación de am

plato. Todos

ato pueda se

Clic 

de c

eccionar una 

apítulo 3: M

rvaciones.

mar parte de

de platos.

cada produc

le de elabor

la “Existenc

casilla “Can

s, indica que

de la Figura

sario editar e

mbos produ

los grupos d

er utilizado e

en cuadro de

ada responsa

Área para

observac

Cuando es s

en  la  lista 

los que pert

Manual de usu

el menú.

cto que lleva

rar el menú

ia”, las cual

ntidad utiliz

e estas cantid

3.28, si se q

estas casillas

ctos para ob

de categoría

en el menú.

e chequeo 

able 

a escribir  las 

ciones 

seleccionada 

de  platos  ap

tenecen a ella

uario.

55 

a son

debe

les en

zada”,

dades

quiere

s para

btener

s que

una categorí

parecen  todo

a. 

ía 

os 

Page 70: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Clic el

el plat

menú

Paso 6: R

Paso 7: D

- E

en

qu

- E

in

op

- G

p

g

se

ap

limina 

to del 

ú 

Figur

Repetir desd

Dar clic en e

Editar un m

n el caso de

ue cuando e

Eliminar un

nventario de

pción selecc

Generar info

ara esto sol

enerados po

eleccionar la

parecen (Fig

ra 3.28 Nue

de el Paso 4 c

el botón “Gu

enú: Despu

que se nece

s creado.

n menú: Ca

e almacén ac

cionando “Sí

ormes: Exis

lo debemos

or un grupo

a fecha dentr

gura 3.29) es

Clic  p

cantid

unidad

evo menú – C

con cada pla

uardar”.

és de un me

esite hacerlo

asi nunca se

ctualizado. E

í” en la conf

sten varios

s dar clic e

o de menús

ro del calend

scoger el des

para  ver  la 

dad  en  otra 

d de medida

Comensales

ato que se qu

enú ser cread

tenemos a n

e elimina un

En caso de

firmación de

informes qu

n el inform

que se elab

dario de la F

seado.

Ca

e ingredient

uiera agregar

do, casi nunc

nuestras disp

n menú, por

que se nece

eliminación

ue se genera

me correspon

boran en el

Figura 3.23 y

apítulo 3: M

tes del menú

r al menú.

ca es necesa

posición las

rque sus dat

esite hacerlo

n de éste.

an a partir d

ndiente. Ha

día, en est

y dentro de

Manual de usu

ú.

ario editarlo,

mismas opc

tos mantien

o utilizamos

del propio m

y otros que

te caso deb

los informe

Clic ag

los co

plato

uario.

56 

, pero

iones

en el

s esta

menú,

e son

emos

s que

grega o quita

omensales de

 

Page 71: Unive rsidad Central “Marta Abreu” de Las Vill as ...

3.6 Opci

Esta opc

cálculos

3.6.1 O

- M

D

to

ca

- IP

to

al

co

- IP

pr

al

M

r

ión “Report

ción permite

estadísticos

Opción “Alm

Movimientos

Depósitos o E

odos los pro

antidad de c

PB de alma

otales de De

lmacén. Mu

omo el saldo

PB de alm

roducto, tot

lmacén.

Muestra los re

relacionados c

almacén

tes” de la ba

e generar un

que se realiz

macén” de la

s por prod

Extracciones

oductos del

ada operació

acén: La Figu

epósitos y E

estra una tab

o entre las fe

acén (actua

al de depós

portes 

con el 

Figura

arra de nave

na serie de

zan en ellos.

a sub-barra

ductos: La F

s, que se efe

almacén. M

ón realizada.

ura 3.33 per

Extracciones,

bla resumen

echas escogid

al): Muestra

ito y extrac

3.29 Inform

egación.

reportes de

.

a de navegac

Figura 3

Figura 3.31

ectuaron ent

Muestra una

. Figura 3.32

rmite selecci

, teniendo e

con el prod

das.

a una tabla

ciones así c

Ca

mes.

almacén y

ción.

3.30 Opción

permite se

tre dos fecha

tabla resum

2.

ionar entre d

en cuenta un

ducto, total d

resumen c

como el sald

apítulo 3: M

del menú r

Reportes - A

eleccionar c

as, teniendo

men con la fe

dos fechas cu

no o todos l

de depósito y

on los valo

do actual de

Manual de usu

relacionados

Almacén.

uales fueron

en cuenta u

fecha, produ

uales han sid

los producto

y extraccione

ores actuales

el producto

uario.

57 

s con

 

n los

uno o

cto y

do los

os del

es así

s por

en el

Page 72: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Figu

3.6.2 O

ura 3.31 Sel

Opción “Men

M

re

ección de tip

Figur

nú” de la su

Fig

uestra los rep

elacionados c

menú. 

po de inform

ra 3.32 Mo

Figura 3.33

ub-barra de

gura 3.34 Op

portes 

con el 

me, fechas y p

vimientos po

3 IPB de alm

e navegación

pción Repor

Ca

productos pa

or productos

macén.

n.

rtes - Menú.

apítulo 3: M

ara informes

s.

Manual de usu

s de almacén

uario.

58 

n.

Page 73: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Capítulo 3: Manual de usuario.

59 

- Fichas de costos: Figura 3.35. Muestra una tabla con los 5 costos más altos que han

tenido los platos durante la elaboración de los menús.

- Frecuencias por platos: Figura 3.36. Muestra con qué frecuencia ha sido elaborado cada

plato entre dos fechas dadas.

- Comportamiento del balance nutritivo: Figura 3.37. Muestra como se comportaron los

indicadores energía, proteínas y grasas entre dos fecha por comensales y tipos de

comidas.

Figura 3.35 Fichas de costos.

Figura 3.36 Frecuencias por platos.

Figura 3.37 Comportamiento del balance nutritivo.

Page 74: Unive rsidad Central “Marta Abreu” de Las Vill as ...

3.7 Opci

 

 

- C

- E

- E

pr

3.8 Opci

Se utiliza

Mue

que u

ión “Usuari

Crear un usu

Editar un us

Eliminar un

resionamos

ión “Mis da

a para cambi

estra los usua

utilizan el siste

Figura 3.39 

os” de la ba

uario: Figur

suario: Figur

Fig

n usuario:

“Sí” en el bo

tos” de la b

iar la contras

rios 

ema. 

arra de nave

Figura 3.38

Figura

ra 3.40

ra 3.40

gura 3.40 Cr

Cuando sel

otón de conf

arra de nav

Figura 3.41

seña y el cor

egación.

8 Opción Us

3.39 Usuar

rear o editar

eccionamos

firmación.

vegación.

Opción Mi

rreo electrón

Ca

suarios.

rios.

un usuario.

esta opció

is datos.

nico del usua

Ver

apítulo 3: M

 

ón eliminam

 

ario. Figura 3

r datos del us

C

Tip

que

va 

Manual de usu

mos el usuar

3.42.

suario 

Eliminar el u

Correo electró

po  de  usuari

e permisos d

a tener en el 

uario.

60 

rio si

usuario

ónico 

o,  define 

e accesos 

sistema. 

Page 75: Unive rsidad Central “Marta Abreu” de Las Vill as ...

3.9 Opci

Cuando h

que la se

puede en

ión “Salir” d

hemos termi

esión creada

ntrar en el sis

de la barra

inado de tra

por el usua

stema.  

Figura 3

de navegac

Figura 3.

abajar en el

ario se cierre

3.42 Mis da

ión

43 Opción

sistema es n

e, de este mo

Ca

atos

Salir.

necesario pre

odo nadie qu

apítulo 3: M

 

esionar el bo

ue no sea us

Manual de usu

 

otón “Salir”

suario autori

uario.

61 

” para

izado

Page 76: Unive rsidad Central “Marta Abreu” de Las Vill as ...

CONCLUSIONES 

62 

Conclusiones

Se implanta en la Dirección de Alimentación de la UCLV un Sistema de Información y

Gestión que tributa a mejorar el proceso de gestión, control y planificación estratégica del

área; contribuyendo con el proceso de informatización en las áreas y actividades

universitarias.

Se consolidan los conocimientos de la programación web y el trabajo con bases de datos

mediante la utilización de los lenguajes PHP, Javascript y el gestor de bases de datos

PostgreSQL.

Se contribuye con la implantación del software libre al implementar un sistema

confeccionado bajo estos principios.

Page 77: Unive rsidad Central “Marta Abreu” de Las Vill as ...

RECOMENDACIONES 

63 

Recomendaciones

Como parte de posibles aplicaciones y extensiones del Sistema de Control de Alimentación se

recomienda:

Crear nuevos módulos y reportes en el Sistema que posibiliten a la Dirección de

Alimentación elevar la eficacia en la toma de decisiones en base a los resultados

obtenidos con la utilización del software.

Valorar la posibilidad de implantar el sistema en el resto de las universidades del país

como parte de un proceso de estandarización con vistas a facilitar el proceso de gestión,

control y planificación estratégica de los alimentos en centros de la enseñanza superior.

Crear un nuevo módulo que permita exportar los reportes a otros formatos para facilitar

así la impresión.

 

Page 78: Unive rsidad Central “Marta Abreu” de Las Vill as ...

BIBLIOGRAFÍA 

64 

Bibliografía

1. PostgreSQL Documentation. Available from: http://www.postgresql.org/docs/.

2. Software libre y su mapa conceptual. Available from:

http://es.wikipedia.org/w/index.php?title=Software_libre.

3. El rincón de Linux - Documentación. Available from: http://www.linux-

es.org/documentacion.

4. Overview of new features in Apache 2.0. Available from:

http://httpd.apache.org/docs/2.0/new_features_2_0.html.

5. Detailed guides. Available from: http://wiki.postgresql.org/wiki/Espa%C3%B1ol.

6. Programación dirigida por eventos. Available from:

http://es.wikipedia.org/w/index.php?title=Programaci%C3%B3n_dirigida_por_eventos.

7. PHP: Hypertext Preprocessor. Available from: http://www.php.net/docs.php.

8. The Definitive JavaScript Resource. Available from: http://www.javascript.com/.

9. News and Opinions about HTML. Available from: http://www.w3.org/html/.

10. HTML, El Lenguaje para el Formato de Hipertextos. Available from:

https://developer.mozilla.org/.

11. Cascading Style Sheets - Home page. Available from: http://www.w3.org/Style/CSS/.

12. DOM - MDC. Available from: https://developer.mozilla.org/.

13. Document Object Model (DOM). Available from: http://www.w3.org/DOM/DOMTR.

14. Tutorial de AJAX con PHP y JSON. Available from:

http://thinkcoderepeat.blogspot.com/2006/08/arquitectura-cliente-servidor-con-ajax.html.

15. Pressman, R., Ingeniería de Software.Un enfoque Práctico.

16. Adobe Fireworks CS3. Available from: http://www.adobe.com/es/products/fireworks/.

17. Adobe Dreamweaver CS3. Available from:

http://www.adobe.com/es/products/dreamweaver /.

18. Aptana IDE - Developers' Choice.; Available from: http://www.aptana.com/studio.

19. Un IDE para el desarrollo de aplicaciones web, enfocado en Ajax y la Web 2.0. Available

from: http://www.desarrolloweb.com/.

Page 79: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Anexo # 1: M

Anexos

Mapa Concepttual del softwarre libre.

ANEXOS 

65  

Page 80: Unive rsidad Central “Marta Abreu” de Las Vill as ...

ANEXOS 

66 

 

Recibir mercancía

Actualizar inventario

Entregar productos solicitados

Planificar menú

Elaborar solicitud de entrega

Recoger inventario

Aprobar planificación

Autorizar solicitud de entrega

Jefe de alimentaciónJefe de turnoPlanificadorAlmacenero

Anexo # 2: Diagrama de actividades correspondiente al sistema

Page 81: Unive rsidad Central “Marta Abreu” de Las Vill as ...

ANEXOS 

67 

Página de inicio del sistema

Iniciar sesión

Error en el usuario y / o la contraseña

InicioInició sesión de forma correcta

Menú Almacén Reportes Usuarios Mis datos

Salirterminar de trabajar con su usuario

cambiar opción cambiar opción cambiar opción cambiar opción

terminar de trabajar el usuario

Salir del navegador o cambiar de página web

Cerrar sesión

Listado de existencias por productos agrupados en categorias

Generar existencias

Extracción de producto Depósito de

producto

Edición de producto

Nuevo producto

Realizar extracción en un producto

Realizar depósito de un productoEditar un producto

Agregar un producto

Unidades de medidas

Mostrar unidades de medidas

Edición de unidad de medida

Nueva unidad de medida

Editar unidad de medida

Agregar una unidad de medida

Lista de categorías de platos

Lista de categorías de productos

Edición de categoría de platos

Nueva categoría de platos

Nueva categoría de productos

Edición de categoría de producto

Lista de usuarios

Mostrar usuarios

Datos de usuario actual

Editar datos de usuario actual

Nuevo usuario

Edición de usuario

Agregar usuario

Editar usuario

Lista de menus

Lista de platos

Edicion de plato

Nuevo plato

Editar plato Agregar plato

Nuevo menu

Edición de menu

Paginas de reporte(s)

Editar categoría

Agregar categoría

Agregar menu

Editar menu

Generar reporte

Mostrar menus

Mostrar lista de platosMostrar categorías de platos

Agregar categoría Editar categoría

Mostrar categorías de productos

.Almacén

.Menú

Movimientos por productos

IPB de almacén

Fichas de costo

Frecuencias por platos

Comportamiento del balance nutritivo

Mostrar reportes de almacén

Mostrar reportes del menú

Anexo # 3: Diagrama de navegación del Sistema.

Page 82: Unive rsidad Central “Marta Abreu” de Las Vill as ...

ANEXOS 

68 

 

Anexo # 4: Diagrama de las principales tablas de la base de datos.

Page 83: Unive rsidad Central “Marta Abreu” de Las Vill as ...

ANEXOS 

69 

 

utils

index.php

const.php communs.php

contents.php functions.php

bootstrap.php

pages.php

utils.php

skinks

skins.php

header.php footer.php

components

usuario.php

kernel menuload.php save.php

javascriptscalendario.js calendario

menu.js

categorias platos.js

json.php

comedor.js

comensales.js

custom datasource.js

custom table.js

existence.jsextras.js

menu.js

menu comedor.js

nodo.jsplatos.js

tipo comida.js

unidad medida.js

utils.js

wait.js

Base de datos

menu_request.php

Yahoo! User Interface Library (YUI)

Menú

Almacén

Reportes

categorias_productos.php

almacen07.php producto.php

plato.php

categorias_platos.php

menu.php

informe.php

Anexo # 5: Diagrama de componentes del sistema.

Page 84: Unive rsidad Central “Marta Abreu” de Las Vill as ...

Anexo # 6: Di

iagrama de seccuencia de una conexión AJAX

X. ANEXOS 

70