SlideShare una empresa de Scribd logo
1 de 11
Instituto Tecnológico de Oaxaca
Materia: Programación Web
Proyecto:
Restaurant online
1. DESCRIPCIÓN DEL PROBLEMA
Se trata de realizar una aplicación web para un restaurante, por medio de la cual pueda ofrecer sus
alimentos clasificados según el horario o el tipo (postre, bebida, desayuno, comida, cena). Los usuarios
del sistema serán tanto los clientes, como el administrador del mismo. Por su parte el administrador
debe tener obligadamente una cuenta para poder realizar las operaciones de agregar, eliminar y
actualizar los alimentos, así como poder enviar correos a los clientes. Mientras que los clientes podrán
visualizarlos alimentos por categorías, ver información de los mismos, agregarlos a su carrito de compra
y visualizar el estado del mismo en el momento que lo requieran, aunque deberán crear una cuenta de
usuario en el sistema con datos como: nombre, domicilio, teléfono, email y número de tarjeta, para
que puedan proceder a realizar el pago de su pedido.
2. METODOLOGÍA
La metodología de desarrollodesoftwarequeutilizaremosparadar soluciónal problema
planteado será la metodología XP (Xtreme Programming), la cual es una metodología de
desarrollo de la ingeniería de softwareformulada por KentBeck. Es el más destacado de
los procesos ágiles de desarrollo de software. Al igual que éstos, la programación
extrema sediferencia de las metodologías tradicionales principalmenteen queponemás
énfasis en la adaptabilidad que en la previsibilidad. Los defensores de la XP consideran
que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e
incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los
cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación
mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e
invertir esfuerzos después en controlar los cambios en los requisitos.
2.1 PLANEACIÓN
2.1.1 Historias de usuario
Historiade Usuario
Número: 1 Usuario: Administrador
Nombre historia: Creación de cuenta
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado 3 horas Fecha 18-Nov-2016
Programador responsable: Raúl, Luis, Benjamin
Descripción:
Se ingresara los datos personales para tener una cuenta con acceso al sistema, con permisos de
administrador.
Historiade Usuario
Número: 2 Usuario: Administrador
Nombre historia: Login
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 2 hrs. Fecha 18-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Logearse al sistema como usuario administrador.
Historiade Usuario
Número: 3 Usuario: Administrador
Nombre historia: Alta-categoria
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 5 hrs. Fecha 18-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Dar de alta una nueva categoría de alimentos que el restaurant incluirá en su menú del dia.
Historiade Usuario
Número: 4 Usuario: Administrador
Nombre historia: Baja-producto
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 5 hrs. Fecha 19-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Añadir un nuevo producto indicando la categoría a la que pertenece.
Historiade Usuario
Número: 5 Usuario: Administrador
Nombre historia: Baja-categoria
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 2 hrs. Fecha 19-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Dar de baja una categoría previamente dada de alta menú del dia.
Historiade Usuario
Número: 6 Usuario: Administrador
Nombre historia: Alta-producto
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 2 hrs. Fecha 19-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Eliminar un producto dentro del sistema en general.
Historiade Usuario
Número: 7 Usuario: Administrador
Nombre historia: Baja-producto
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 2 hrs. Fecha 19-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Eliminar un producto dentro del sistema en general.
Historiade Usuario
Número: 8 Usuario: Cliente
Nombre historia: Creación de cuenta
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 2 hrs. Fecha 21-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Se ingresaran los datos personales para tener una cuenta con acceso al sistema con permisos
de cliente.
Historiade Usuario
Número: 9 Usuario: Cliente
Nombre historia: Login
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Baja
Tiempo estimado: 2 hrs. Fecha 20-Nov-2016
Programador responsable: Raul, Luis, Benjamin
Descripción:
Logearse al sistema como usuario cliente
3. Desarrollo
Para el presente proyecto utilizamos las siguientes tecnologías de desarrolloweb:
HTML
HTML es un lenguaje de marcas (etiquetas) que se emplea para dar formato a los documentos que se
quieren publicar en la WWW. Los navegadores son capaces de interpretar las etiquetas y mostrar los
documentos con el formato deseado.
Las páginas web o páginas HTML son unos cheros escritos en el lenguaje HTML . El desarrollo de estas
páginas abarca un amplio grupo de tecnologías, desde las páginas más sencillas que sólo usan el
lenguaje HTML hasta las más complejas que usan DHTML , CSS , JavaScript , applets realizados en Java
o componentes ActiveX .
El lenguaje HTML se basa en SGML , un sistema mucho más completo y complicado de procesamiento
de documentos que indica como organizar y marcar (etiquetar) un documento.
HTML se pueden diseñar usando texto con distintos tipos de letras o colores, imágenes, listas de
elementos, tablas, etc. Su modo de empleo es muy sencillo: se basa en el uso de etiquetas que indican
que elementos contiene cada página, el formato que hay que aplicar a cada uno de ellos y como se
tienen que distribuir por la página.
JAVASCRIPT
JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript, se define
como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinamico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un
navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, aunque existe
una forma de JavaScript del lado del servidor.
Su uso en aplicaciones web, por ejemplo en documentos PDF, aplicaciones de escritorio.
Un programa en JavaScript seintegra en una paginaWeb y es el navegador el que lo interpreta (ejecuta).
Es decir el JavaScript es un lenguaje interpretado, no compilado (no se genera ningún tipo de fichero
objeto o .exe).
Todos los navegadores modernos interpretan el codigo JavaScript integrado en las paginas web. Para
interactuar con una pagina web se provee al lenguaje JavaScript de una implementación del Document
Object Model (DOM).
CSS
Las hojas de estilo o CSS, por Cascading StyleSheets son un mecanismo que permiten aplicar formato a
los documentos escritos en HTML o XHML (y en otros lenguaje estructurados, como XML) separando el
contenido de las paginas de su apariencia. Esto significa que la información estará contenida en la
pagina HTML, pero este archivo no debe definir como será visualizada esa información, sino la hoja de
estilos asociada a el.
Junto con HTML y JavaScript, CSS es una tecnología usada por muchos sitios web para crear páginas
visualmente atractivas, interfaces de usuario para aplicaciones web, y sus GUIs para muchas
aplicaciones móviles.
CSS esta diseñado especialmente para marcar la separación del contenido del documento y la forma de
presentación de este, características tales como las capas o layout, los colores y las fuentes.
Esta separación busca mejorar las accesibilidad del documento, proveer mas flexibilidad y control en la
especificación de características presentacionales, permitir que varios documentos HTML compartan
un mismo estilo usando una sola hoja de estilos separada en un archivo .css y reducir la complejidad y
la repetición de codigo en la estructura del documento.
La especificación CSS describe un esquema prioritario para determinar que reglas de estilo se aplican si
mas de una regla coincide para un elemento en particular. Estas reglas, aplicadas con un sistema
llamado en cascada, las prioridades son calculadas y asignadas a las reglas, asi que los resultados son
predecibles.
Node.js
Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del
servidor (pero no limitándose a ello) basado en el lenguaje de programación ECMAScript, asíncrono,
con I/O de datos en una arquitectura orientada a eventos y basado en el motor v8 de Google, fue creado
con el enfoque de ser útil en la creación de programas de red altamente escalables, como por ejemplo,
servidores web.
Como se mencionó anteriormente Node.js está basado en el motor V8 de JavaScript de Google, este
motor esta diseñado para correr en un navegador y ejecutar el codigo de JavaScript de una forma
extremadamente rápida.
La tecnología que esta detrás de Node.js permite ejecutar este motor en lado del servidor, para en ello
el entorno de Node.js ha desarrollado un conjunto amplio de librerías que no tienen nada que envidiar
a otras plataformas, por otro lado se han eliminado algunas funcionalidades que en el entorno de
servidor no tenían sentido como por ejemplo el uso de Document Objet Model.
JSON
JSON acrónimo de JavaScript Object Notation, es un formato de texto ligero para el intercambio de
datos. JSON es un subconjunto de la notación literal de objetos de JavaScript aunque hoy, debido a su
amplia adopción como alternativas a XML, se considera un formato de lenguaje independiente.
Las ventajas de JSON sobre XML como formato de intercambio de datos es que es mucho mas sencillo
escribir un analizador sintáctico de JSON. En JavaScript.
Los tipos de datos disponibles con JSON son:
 Números: se permiten números negativos y opcionalmente pueden contener parte fraccional
separadapor puntos.
 Cadenas: representan secuencias de cero o más caracteres, se ponen entre doble comilla y se
permitencadenasde escape.
 Booleanos: representan valores booleanos y pueden tener valores los cuales pueden ser de
cualquiertipo.
JADE
Jade es un sistema para generación de plantillas HTML hecho para trabajar con NodeJS y que puede
usarse como lenguaje para prototipado.
Jade utiliza un metalenguaje casi mecanografiado basado en la notación de HTML que ha sido
simplificado para ser breve, conciso y fácil.
Jade se encarga de generar codigo HTML bien formado, también se puede utilizar variables y
condicionales de JavaScript para generar codigo HTML según su configuración.
Jade puede er una herramienta útil para prototipar y generar codigo para prototipos funcionales
usando como guía los bocetos y prototipos en papel, los archivos de Jade son compactos, fáciles de leer
por humanos y es muy sencillo editarlos y compartirlos.
Lo mejor es que el HTML generado por Jade puede integrarse después al codigo en producción con
poco esfuerzo, ya que su salida es de alta calidad y es compatible con otras librerías y frameworks que
se usan en desarrollo web como Bootstrap, JQuery o AngularJS entre otros.
PostgreSQL
PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre,
publicado bajo la licencia PostgreSQL,1 similar a la BSD o la MIT.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una
empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma
desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es
denominada el PGDG
Algunas de las principales características son, entre otras:
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
lehizo commit.Estaestrategiaes superior al uso de bloqueos por tabla o por filas común en otras bases,
eliminando la necesidad del uso de bloqueos explícitos...
Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para:
 Números de precisión arbitraria.
 Texto de largo ilimitado.
 Figuras geométricas (con una variedad de funciones asociadas).
 Direcciones IP (IPv4 e IPv6).
 Bloques de direcciones estilo CIDR.
 Direcciones MAC.
 Arrays.
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por
completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos
de datos GIS creados por el proyecto PostGIS.
Ventajas
-Seguridad en términos generales
-Integridad en BD: restricciones en el dominio
-Integridad referencial
-Afirmaciones (Assertions)
-Disparadores (Triggers)
-Autorizaciones
-Conexión a DBMS
-Transacciones y respaldos

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

Novedades en SharePoint 2013
Novedades en SharePoint 2013Novedades en SharePoint 2013
Novedades en SharePoint 2013
 
Melaniee
MelanieeMelaniee
Melaniee
 
Que es html
Que es htmlQue es html
Que es html
 
Portales Enterprise 2.0 con WebCenter
Portales Enterprise 2.0 con WebCenterPortales Enterprise 2.0 con WebCenter
Portales Enterprise 2.0 con WebCenter
 
Novedades en SharePoint 2013
Novedades en SharePoint 2013Novedades en SharePoint 2013
Novedades en SharePoint 2013
 
Paginas web
Paginas webPaginas web
Paginas web
 
Web 2 pamela sanchez
Web 2 pamela sanchezWeb 2 pamela sanchez
Web 2 pamela sanchez
 
Analisis seo
Analisis seoAnalisis seo
Analisis seo
 
Clase 4 JavaScript Básico
Clase 4 JavaScript BásicoClase 4 JavaScript Básico
Clase 4 JavaScript Básico
 
Clase 1 Introducción al Desarrollo Web
Clase 1 Introducción al Desarrollo WebClase 1 Introducción al Desarrollo Web
Clase 1 Introducción al Desarrollo Web
 

Similar a Documentacion proyecto

Kumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y FuturoKumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y FuturoDeivinson Tejeda
 
Estándares que utilizamos en nuestra aplicación web
Estándares que utilizamos en nuestra aplicación webEstándares que utilizamos en nuestra aplicación web
Estándares que utilizamos en nuestra aplicación webluis20132014
 
La importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoLa importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoAptitud Emprendedora
 
Ciclo de vida de un sistema información
Ciclo de vida de un sistema informaciónCiclo de vida de un sistema información
Ciclo de vida de un sistema informaciónGenesisCastro28
 
Modulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.pptModulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.pptssuser73f459
 
Construcción de un siti web
Construcción de un siti webConstrucción de un siti web
Construcción de un siti webmascorroale
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la webMiguel Gea
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado clienteJeremias Morales
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado clienteJeremias Morales
 

Similar a Documentacion proyecto (20)

Kumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y FuturoKumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y Futuro
 
Dominios producto final
Dominios producto finalDominios producto final
Dominios producto final
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
Estándares que utilizamos en nuestra aplicación web
Estándares que utilizamos en nuestra aplicación webEstándares que utilizamos en nuestra aplicación web
Estándares que utilizamos en nuestra aplicación web
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
La importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoLa importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyecto
 
Ciclo de vida de un sistema información
Ciclo de vida de un sistema informaciónCiclo de vida de un sistema información
Ciclo de vida de un sistema información
 
Paginas web
Paginas webPaginas web
Paginas web
 
Paginas web
Paginas webPaginas web
Paginas web
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Desarrollo de aplicaciones web
Desarrollo de aplicaciones webDesarrollo de aplicaciones web
Desarrollo de aplicaciones web
 
Modulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.pptModulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.ppt
 
Hoja-actividad_AOS-pdf
Hoja-actividad_AOS-pdfHoja-actividad_AOS-pdf
Hoja-actividad_AOS-pdf
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Temas Relacionados Web 2
Temas Relacionados Web 2Temas Relacionados Web 2
Temas Relacionados Web 2
 
Diseño web
Diseño webDiseño web
Diseño web
 
Construcción de un siti web
Construcción de un siti webConstrucción de un siti web
Construcción de un siti web
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la web
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 

Más de Benjamín Joaquín Martínez

Más de Benjamín Joaquín Martínez (20)

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
 
Fragmentación
FragmentaciónFragmentación
Fragmentación
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 

Documentacion proyecto

  • 1. Instituto Tecnológico de Oaxaca Materia: Programación Web Proyecto: Restaurant online
  • 2. 1. DESCRIPCIÓN DEL PROBLEMA Se trata de realizar una aplicación web para un restaurante, por medio de la cual pueda ofrecer sus alimentos clasificados según el horario o el tipo (postre, bebida, desayuno, comida, cena). Los usuarios del sistema serán tanto los clientes, como el administrador del mismo. Por su parte el administrador debe tener obligadamente una cuenta para poder realizar las operaciones de agregar, eliminar y actualizar los alimentos, así como poder enviar correos a los clientes. Mientras que los clientes podrán visualizarlos alimentos por categorías, ver información de los mismos, agregarlos a su carrito de compra y visualizar el estado del mismo en el momento que lo requieran, aunque deberán crear una cuenta de usuario en el sistema con datos como: nombre, domicilio, teléfono, email y número de tarjeta, para que puedan proceder a realizar el pago de su pedido. 2. METODOLOGÍA La metodología de desarrollodesoftwarequeutilizaremosparadar soluciónal problema planteado será la metodología XP (Xtreme Programming), la cual es una metodología de desarrollo de la ingeniería de softwareformulada por KentBeck. Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema sediferencia de las metodologías tradicionales principalmenteen queponemás énfasis en la adaptabilidad que en la previsibilidad. Los defensores de la XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.
  • 3. 2.1 PLANEACIÓN 2.1.1 Historias de usuario Historiade Usuario Número: 1 Usuario: Administrador Nombre historia: Creación de cuenta Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado 3 horas Fecha 18-Nov-2016 Programador responsable: Raúl, Luis, Benjamin Descripción: Se ingresara los datos personales para tener una cuenta con acceso al sistema, con permisos de administrador. Historiade Usuario Número: 2 Usuario: Administrador Nombre historia: Login Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 2 hrs. Fecha 18-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Logearse al sistema como usuario administrador.
  • 4. Historiade Usuario Número: 3 Usuario: Administrador Nombre historia: Alta-categoria Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 5 hrs. Fecha 18-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Dar de alta una nueva categoría de alimentos que el restaurant incluirá en su menú del dia.
  • 5. Historiade Usuario Número: 4 Usuario: Administrador Nombre historia: Baja-producto Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 5 hrs. Fecha 19-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Añadir un nuevo producto indicando la categoría a la que pertenece. Historiade Usuario Número: 5 Usuario: Administrador Nombre historia: Baja-categoria Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 2 hrs. Fecha 19-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Dar de baja una categoría previamente dada de alta menú del dia.
  • 6. Historiade Usuario Número: 6 Usuario: Administrador Nombre historia: Alta-producto Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 2 hrs. Fecha 19-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Eliminar un producto dentro del sistema en general. Historiade Usuario Número: 7 Usuario: Administrador Nombre historia: Baja-producto Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 2 hrs. Fecha 19-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Eliminar un producto dentro del sistema en general.
  • 7. Historiade Usuario Número: 8 Usuario: Cliente Nombre historia: Creación de cuenta Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 2 hrs. Fecha 21-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Se ingresaran los datos personales para tener una cuenta con acceso al sistema con permisos de cliente. Historiade Usuario Número: 9 Usuario: Cliente Nombre historia: Login Prioridad en negocio: Alta Riesgo en desarrollo: Baja Tiempo estimado: 2 hrs. Fecha 20-Nov-2016 Programador responsable: Raul, Luis, Benjamin Descripción: Logearse al sistema como usuario cliente
  • 8. 3. Desarrollo Para el presente proyecto utilizamos las siguientes tecnologías de desarrolloweb: HTML HTML es un lenguaje de marcas (etiquetas) que se emplea para dar formato a los documentos que se quieren publicar en la WWW. Los navegadores son capaces de interpretar las etiquetas y mostrar los documentos con el formato deseado. Las páginas web o páginas HTML son unos cheros escritos en el lenguaje HTML . El desarrollo de estas páginas abarca un amplio grupo de tecnologías, desde las páginas más sencillas que sólo usan el lenguaje HTML hasta las más complejas que usan DHTML , CSS , JavaScript , applets realizados en Java o componentes ActiveX . El lenguaje HTML se basa en SGML , un sistema mucho más completo y complicado de procesamiento de documentos que indica como organizar y marcar (etiquetar) un documento. HTML se pueden diseñar usando texto con distintos tipos de letras o colores, imágenes, listas de elementos, tablas, etc. Su modo de empleo es muy sencillo: se basa en el uso de etiquetas que indican que elementos contiene cada página, el formato que hay que aplicar a cada uno de ellos y como se tienen que distribuir por la página. JAVASCRIPT
  • 9. JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript, se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinamico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, aunque existe una forma de JavaScript del lado del servidor. Su uso en aplicaciones web, por ejemplo en documentos PDF, aplicaciones de escritorio. Un programa en JavaScript seintegra en una paginaWeb y es el navegador el que lo interpreta (ejecuta). Es decir el JavaScript es un lenguaje interpretado, no compilado (no se genera ningún tipo de fichero objeto o .exe). Todos los navegadores modernos interpretan el codigo JavaScript integrado en las paginas web. Para interactuar con una pagina web se provee al lenguaje JavaScript de una implementación del Document Object Model (DOM). CSS Las hojas de estilo o CSS, por Cascading StyleSheets son un mecanismo que permiten aplicar formato a los documentos escritos en HTML o XHML (y en otros lenguaje estructurados, como XML) separando el contenido de las paginas de su apariencia. Esto significa que la información estará contenida en la pagina HTML, pero este archivo no debe definir como será visualizada esa información, sino la hoja de estilos asociada a el. Junto con HTML y JavaScript, CSS es una tecnología usada por muchos sitios web para crear páginas visualmente atractivas, interfaces de usuario para aplicaciones web, y sus GUIs para muchas aplicaciones móviles. CSS esta diseñado especialmente para marcar la separación del contenido del documento y la forma de presentación de este, características tales como las capas o layout, los colores y las fuentes. Esta separación busca mejorar las accesibilidad del documento, proveer mas flexibilidad y control en la especificación de características presentacionales, permitir que varios documentos HTML compartan un mismo estilo usando una sola hoja de estilos separada en un archivo .css y reducir la complejidad y la repetición de codigo en la estructura del documento. La especificación CSS describe un esquema prioritario para determinar que reglas de estilo se aplican si mas de una regla coincide para un elemento en particular. Estas reglas, aplicadas con un sistema llamado en cascada, las prioridades son calculadas y asignadas a las reglas, asi que los resultados son predecibles. Node.js Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor (pero no limitándose a ello) basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor v8 de Google, fue creado
  • 10. con el enfoque de ser útil en la creación de programas de red altamente escalables, como por ejemplo, servidores web. Como se mencionó anteriormente Node.js está basado en el motor V8 de JavaScript de Google, este motor esta diseñado para correr en un navegador y ejecutar el codigo de JavaScript de una forma extremadamente rápida. La tecnología que esta detrás de Node.js permite ejecutar este motor en lado del servidor, para en ello el entorno de Node.js ha desarrollado un conjunto amplio de librerías que no tienen nada que envidiar a otras plataformas, por otro lado se han eliminado algunas funcionalidades que en el entorno de servidor no tenían sentido como por ejemplo el uso de Document Objet Model. JSON JSON acrónimo de JavaScript Object Notation, es un formato de texto ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript aunque hoy, debido a su amplia adopción como alternativas a XML, se considera un formato de lenguaje independiente. Las ventajas de JSON sobre XML como formato de intercambio de datos es que es mucho mas sencillo escribir un analizador sintáctico de JSON. En JavaScript. Los tipos de datos disponibles con JSON son:  Números: se permiten números negativos y opcionalmente pueden contener parte fraccional separadapor puntos.  Cadenas: representan secuencias de cero o más caracteres, se ponen entre doble comilla y se permitencadenasde escape.  Booleanos: representan valores booleanos y pueden tener valores los cuales pueden ser de cualquiertipo. JADE Jade es un sistema para generación de plantillas HTML hecho para trabajar con NodeJS y que puede usarse como lenguaje para prototipado. Jade utiliza un metalenguaje casi mecanografiado basado en la notación de HTML que ha sido simplificado para ser breve, conciso y fácil. Jade se encarga de generar codigo HTML bien formado, también se puede utilizar variables y condicionales de JavaScript para generar codigo HTML según su configuración. Jade puede er una herramienta útil para prototipar y generar codigo para prototipos funcionales usando como guía los bocetos y prototipos en papel, los archivos de Jade son compactos, fáciles de leer por humanos y es muy sencillo editarlos y compartirlos. Lo mejor es que el HTML generado por Jade puede integrarse después al codigo en producción con poco esfuerzo, ya que su salida es de alta calidad y es compatible con otras librerías y frameworks que se usan en desarrollo web como Bootstrap, JQuery o AngularJS entre otros. PostgreSQL PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PostgreSQL,1 similar a la BSD o la MIT. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma
  • 11. desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG Algunas de las principales características son, entre otras: 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 lehizo commit.Estaestrategiaes superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos... Amplia variedad de tipos nativos PostgreSQL provee nativamente soporte para:  Números de precisión arbitraria.  Texto de largo ilimitado.  Figuras geométricas (con una variedad de funciones asociadas).  Direcciones IP (IPv4 e IPv6).  Bloques de direcciones estilo CIDR.  Direcciones MAC.  Arrays. Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS. Ventajas -Seguridad en términos generales -Integridad en BD: restricciones en el dominio -Integridad referencial -Afirmaciones (Assertions) -Disparadores (Triggers) -Autorizaciones -Conexión a DBMS -Transacciones y respaldos