Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/practicaTienda»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con «{{:Usuario:ManuelRomero/php/smarty/tienda1/nav}} __NOTOC__ ===Enunciado original=== *Para el enunciado visitamos la página donde se especifican los requisitos http://es....»)
 
(Página reemplazada por «{{:Usuario:ManuelRomero/php/smarty/tienda1/nav}} {{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/practicaTienda/nav}}»)
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/php/smarty/tienda1/nav}}
 
{{:Usuario:ManuelRomero/php/smarty/tienda1/nav}}
 
+
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/practicaTienda/nav}}
__NOTOC__
+
===Enunciado original===
+
*Para el enunciado visitamos la página donde se especifican los requisitos
+
 
+
http://es.wikieducator.org/Usuario:ManuelRomero/php/ejemploTienda
+
===Especificaciones nuevas===
+
*En este caso se trata de cumplir una serie de especifiaciones nuevas
+
*Vamos a separar la lógica del negocio de la presentación
+
*por  otro lado vamos a crear clases para la programación más estructurada y encapsulada
+
*El resultado será un proyecto con muchos mas ficheros, pero mucho más organizado y especializado
+
*Las especificaciones no funcionales de este ejercicio son:
+
====CLASES====
+
;BD.php
+
:Clase con los métodos necesarios para acceder/consultar/validar en la base de datos. Por ejemplo
+
 
+
<source lang=php>
+
validarCliente($usuario,$password)
+
obtenerProducto($codigo)
+
obtenerProductos ()
+
</source>
+
 
+
;Producto.php
+
:Clase para interactuar con un prodcuto concreto
+
;CestaCompra.php
+
:Acciones relacionadas con la cesta de la compra
+
<source lang=php>
+
nuevoArticulo()
+
getProductos()
+
getCoste()
+
vaciar()
+
</source>
+
====PLANTILLAS====
+
*Es la parte de interfaz de cliente
+
*Normalmente cada parte php tendrá su plantilla, de modo que los ficheros php solo tienen código de control y de acceso y gestión de la base de datos
+
;login.ptl
+
;productos.tpl (listaProductos.tpl y productosCesta.tpl)
+
;cesta.tpl
+
====NEGOCIO o LÓGICA====
+
*5 plantillas tendremos 5 ficheros php, aunque esto no tendría que ser necesariamente así
+
;cesta.php
+
;login.php
+
;logoff.php
+
;pagar.php
+
;productos.php
+
*La funcionalidad queda descrita en el enunciado
+
 
+
===Forma de proceder===
+
*Vamos a hacer este ejercicio de forma incremental, realizando cada parte con el fin de ir asimilando bien los conceptos de plantillas y la separación de negocio o lógicay presentación.
+
#Login ==> Nos identificaremos para acceder al sitio web
+
#Porductos ==> Se visualizarán una lista de todos los productos
+
#Logoff ==> Tendremos la opción de desconectarnos
+
#Cesta ==> Aparecerá la posibilidad de ir incorporando nuevos elementos a la cesta
+
#Opciones de Cesta ==> Podremos o pagar y terminar la app o bien vaciar la cesta de la compra
+
*Cada una de estas cinco acciones deben de constituir una aplicación.
+

Revisión de 21:35 18 abr 2019