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