[en] In this document will be described all software development phases for Cooks system: Requirements Analysis, Design, Implementation and Testing. Those will be described with enough detail to understand the design and software architecture chosen for this project, as well as making software tests and maintenance jobs. This paper includes the development of all of three-layer architecture selected for this system: data model, controller for accessing data model and user interface. Cooks application is a cooking and cocktails oriented social network. The idea for making this kind of software is motivated by the inspiration of making a web application where the system dispose to users the possibility of building an online and personal cooking catalog and searching for some recipes from others users. Cooks will allow to create recipe drafts and publish them into the own user board, following other users activities and doing searches to view some specific recipes. This document will start introducing the reader to the project with a general description. Before describing development phases a short research will be done to describe current technology context that wraps this project. Then we will start describing software with a thorough requirements catalog analysis. In the design phase a possible architecture will be provided and the description of all of its components. Once we have done all software design tasks we will see the different technologies used to carry out the design chosen and will be provided the most relevant implementation details. The correct functionality of Cooks system has been verified using a variety of tests. The description and outputs of these tests are presented in this document. Finally, the conclusions and possible future lines of work of this work will be presented. Throughout the document the author has tried to include as far as possible all of the options that have been pondered among all possibilities, as well as the argument for arguing different choices taken along the whole project.

[es] En este documento se describen las distintas fases de desarrollo del sistema Cooks: Análisis de requisitos, Diseño, Implementación y Pruebas con el detalle suficiente como para comprender el diseño y arquitecturas elegidos y para realizar pruebas y labores de mantenimiento del software. Este documento cubre el desarrollo de los tres componentes fundamentales del proyecto: el modelo de datos, la lógica de negocio y de acceso a los mismos y la vista o interfaz de usuario. La aplicación Cooks es una red social orientada a cocina y coctelería. La idea de construir un sistema de este tipo viene motivada por el deseo de crear una aplicación web que permita al usuario disponer de un recetario online en su perfil y consultar recetas de otros usuarios. El sistema permitirá entre otras cosas crear borradores y publicarlos en el tablón de usuario, seguir la actividad de otros usuarios y realizar búsquedas de recetas publicadas por cualquier usuario. El documento comenzará introduciendo al lector en el proyecto que se va a realizar. Antes de entrar en las fases de desarrollo del proyecto se realizará un estudio de las distintas tecnologías disponibles para resolver el problema planteado. Tras ello se comenzará con el desarrollo del proyecto, empezando con el análisis detallado de los requisitos software. En la fase de diseño se propone una posible arquitectura a utilizar y se describen sus componentes. Tras haber realizado el diseño se explicarán las tecnologías utilizadas y detalles tenidos en cuenta en la fase de implementación. Por último se explicarán las pruebas realizadas a cada uno de los componentes junto con los resultados obtenidos, finalizando con las conclusiones obtenidas y posibles requisitos futuros. En la elaboración del documento se ha intentado señalar en la medida de lo posible las distintas opciones sopesadas, las posibilidades disponibles y el razonamiento de la toma de decisiones necesaria en algunos puntos del desarrollo del proyecto.