> Manuales > Cómo crear presupuestos para servicios relacionados con desarrollo web

Presupuesto enviado en 2002 para la realización de un sistema donde los integrantes de una asociación puedan enviar sus datos y publicarlos en la web de la asociación.

Objetivo principal

La Automatización del catálogo de asociados de la asociación a través de la su página web, para que:
- Los asociados puedan actualizar su información automáticamente.
- La página web muestre la información actualizada de los asociados.

Diversas secciones y trabajos que implican

Vemos detalladamente cada uno de los trabajos que se realizarán para llevar a cabo los objetivos.

Planificación y diseño

El proyecto a realizar ha quedado planificado y se llevará a cabo como se puede ver más abajo en la sección "Desarrollo del sitio".

El diseño de la página web se mantendrá tal y como se puede ver en la actualidad. En caso de crear nuevas páginas se aplicará la misma línea de diseño para mantener la identidad de la web.

En cuanto a aspectos técnicos sobre plataformas de desarrollo y tecnologías a utilizar, por las conversaciones con la asociación, lo más indicado sería trabajar con sistemas de Microsoft. Por ello, la página será programada en ASP, con base de datos SQL Server.

Desarrollo del sitio

Veamos a continuación las pautas sobre las que se creará el catálogo, empezando por la base de datos a utilizar y siguiendo por sus distintos módulos de funcionalidades que se van a implementar.

Especificación de la base de datos
La base de datos SQL Server tendrá las siguientes tablas:


Pasamos a describir cada tabla con notas sobre los campos que pueden presentar alguna duda.

Tabla asociado
Contiene los campos principales del asociado, como su nombre, logotipo (una imagen), dirección, etc. Las palabras clave servirán para definir palabras con las que encontrar el asociado en el buscador.

Tabla delegación
Contendrá una o varias delegaciones de cada asociado. Siempre habrá por lo menos una delegación por cada asociado, que será la delegación principal. La delegación principal es única para cada asociado y las otras serán secundarias.
El campo delegación_principal será un boleano que indique si la delegación es la principal.

Tabla foto
Cada asociado puede dar de alta hasta tres fotografías con sus productos o soluciones. El campo nombre_foto indica el nombre del archivo que contendrá la foto. El campo orden indica el orden con el que se presentará la foto en la ficha del asociado.

Tabla noticia
Para guardar las noticias de cada asociado. En esta tabla también se podrán introducir noticias que no pertenezcan a ningún asociado, en este caso, las noticias las introducirá la asociación y podrían ser noticias como "Se inaugura tal congreso" o "La Comunidad Europea lanza tal normativa". Las noticias que pertenezcan a un asociado contendrán el identificador del asociado que la ha introducido y las noticias de la asociación tendrán como identificador del asociado un valor nulo.

Tabla actividad_solucion
Esta tabla guarda todas las líneas de las descripciones de los campos del catálogo actividades y soluciones de cada asociado. Estos campos -actividades y soluciones- presentan básicamente el mismo tipo de información (párrafos con estilo definido para cada uno), por eso se han reunido en una misma tabla. Si en el futuro se piensa guardar informaciones distintas en estos campos puede que sea interesante crear tablas independientes.
El campo estilo contiene el estilo que se tiene que aplicar a ese párrafo. El campo cuerpo es el texto del párrafo. El campo actividad_solucion mantiene un boleano que si vale verdadero indica que es una actividad y si es falso indica una solución. El campo orden guarda el orden en el que tienen que aparecer los distintos párrafos.

Módulos con las distintas funcionalidades

En este proyecto se van a implementar varias secciones:

1) Actualización de los datos del asociado
2) Mostrar datos de asociados
3) Mostrar noticias
4) Opcionalmente, ayuda para actualización de administrador

Veamos detenidamente cada una de estas secciones.

1) Actualización de los datos del asociado

Cada asociado tendrá un nombre de usuario y contraseña para acceder al área de actualización de su información. Por medio de formularios podrá editar en cualquier momento sus datos de contacto, actividades y soluciones.

El diagrama siguiente ilustra el funcionamiento de este módulo.


Sistema de autentificación
Por medio de un usuario y password, que serán asignados para cada asociado por la asociación, se podrá acceder el área de actualización de sus datos. Además, en todas las páginas que permitan editar los datos se comprobará que el usuario se ha autentificado correctamente, para evitar posibles accesos no permitidos.
Al introducir los datos de autentificación se accederá a un proceso que los verificará
- Si no son correctos devolverá al visitante a la portada, donde debería volver a autentificarse.
- Si son correctos llevará al asociado a las páginas con las opciones de actualización de sus datos.
En caso de que el asociado se olvide de sus datos de acceso se podrá poner en contacto con la asociación para que se los mande de nuevo. Para ello el asociado dispondrá de una opción para mandar a la asociación automáticamente la solicitud con objetivo de recibir el nombre de usuario y la clave.

Opciones de actualización
En esta página se mostrarán los datos principales de los asociados y las correspondientes opciones de actualización. En algunos casos y en la medida de lo posible, los formularios de actualización de los datos del asociado se mostrarán en esta página. Esta página también dará paso a otras páginas que contendrán formularios para actualizar datos que presenten una complicación especial. Los Datos generales de los asociados se actualizarán en la propia página de opciones de asociados. Estos datos generales se refieren al nombre de la empresa, el nombre comercial, las palabras clave, resumen y en general la mayoría de los campos de la tabla asociado.

Actualizar delegaciones
En la página de opciones de actualización se mostrarán las delegaciones que tenga el asociado dadas de alta. Cada delegación se acompañará de un enlace para editar sus datos y otro enlace para borrarla. También se incorporará un enlace para crear nuevas delegaciones. Todos estos enlaces se mostrarán en páginas a parte.

Actualizar fotos
Cada asociado tiene derecho a colocar hasta tres fotografías sobre su empresa o sus productos. La página web permitirá subir las fotografías al servidor, seleccionándolas del disco duro del asociado.
Se podrá crear una foto y también borrarla. Así mismo, se podrá cambiar el orden en el que aparezcan las fotos en la ficha del asociado y editar sus propiedades, como pie de foto.

Actualizar noticias
Se crearán formularios para dar de alta noticias, editar una noticia ya introducida y borrar las noticias.

Actualizar soluciones
Se mostrarán una lista de párrafos con el estilo que se debe aplicar a cada uno. La aplicación permitirá introducir un número ilimitado de párrafos y editar todos los párrafos que se hayan introducido anteriormente.

Actualizar actividades
De la misma manera que las soluciones.

Comprobación de los datos
Todos los datos que se envíen se comprobarán, en la medida de lo posible, para asegurarnos de que han sido rellenados y son válidos antes de colocarlos en la base de datos. En el caso de las fotografías se comprobará además que se suben en un formato gráfico permitido y que no sobrepasan unos tamaños lógicos para su colocación en una página web.

Envío de correo avisando de las modificaciones
Cuando un asociado haya actualizado su información se enviará un mensaje de correo electrónico a la asociación para informar de las modificaciones efectuadas. Aunque todas las actualizaciones se comprobarán automáticamente por el sistema para asegurar su corrección, este mensaje tiene como objetivo que la asociación compruebe manualmente que la información del asociado es correcta y no falta ningún dato.

2) Mostrar datos de asociados

Las páginas web de la asociación mostrarán la información de cada asociado. En este apartado del desarrollo se crearán unas páginas que muestren los asociados extrayendo la información de la base de datos de asociados. El diagrama de funcionamiento se puede estudiar a continuación.


Lista de asociados
De la misma manera que ahora, cuando se acceda al cátalogo de empresas asociadas, se mostrará la lista de asociados. Dicha lista se extraerá dinámicamente de la base de datos. Cada uno de los nombres de los asociados será un enlace que servirá para acceder a su ficha.

Búsqueda de asociados
Permitirá buscar asociados por palabras clave. Las palabras clave se indicarán en la tabla asociado en un campo reservado para este fin. Sin embargo, la aplicación deberá buscar no sólo en el campo de palabras clave sino en todos los campos de texto de los asociados, como pueden ser el nombre de la empresa, su descripción, sus actividades o sus soluciones.

Resultados de la búsqueda de asociados
El buscador anterior ofrecerá los resultados en una página web donde se podrá encontrar el nombre del asociado acompañado de una breve descripción del mismo, que se extrae del campo presentación de la taba asociado.
Cada nombre de asociado será pinchable para acceder a su ficha técnica.

Muestra asociado
Cada asociado se podrá visualizar en una página independiente, a la que se puede acceder a través de la lista de asociados o de la búsqueda por palabras clave. Cada asociado se podrá ver manteniendo el mismo diseño, tal y como aparece en la página actualmente.

3) Mostrar noticias

Se desarrollará un sistema para que la página muestre las noticias que vayan introduciendo los asociados y la asociación. El funcionamiento del módulo se puede ver a continuación.


Portada de la web
En la portada de la página web de la asociación se podrán visualizar las últimas noticias que hayan introducido tanto la asociación como los asociados. En la portada aparecerá tan sólo el título de la noticia y se podrá ampliar pulsando sobre él. Las noticias de portada serán contabilizadas en un número indicado por la asociación. Cuando aparezcan nuevas noticias las más viejas desaparecerán de la portada, aunque se podrá consultar un histórico en la sección de noticias.

Sección de noticias
Se creará una nueva sección de noticias, que introducen tanto la asociación como los asociados. En esta sección se podrán ver las noticias junto con sus descripciones y un enlace para ampliar la información. Igual que en la portada, se podrá mostrar un número de noticias por definir -siempre las más nuevas-, aunque en este caso se podrá acceder también a un histórico con las noticias anteriores.

Muestra noticia
Esta página mostrará la noticia con todos sus datos, una vez se seleccione en la portada o en la sección de noticias para ampliar su información.

4) Opcionalmente, ayuda para actualización de administrador

Para la actualización de datos de los asociados la asociación podría acceder a su área de administración introduciendo el usuario y contraseña del asociado que desea editar. Sin embargo, para evitar que la asociación deba introducir los datos de cada usuario por separado se podría construir un módulo que detecte que se ha introducido la clave de administrador y permita elegir un asociado y acceder a su página de actualización sin necesidad de volver a autentificarse como ese usuario.

Este módulo simplificaría la utilización de la herramienta de administración por parte de la asociación, sobretodo durante la primera carga de datos. Se puede ver un diagrama a continuación.


Página de acceso
Es la misma página que utilizan los asociados para autentificarse, aunque ahora también detectaría la clave de administrador, que pertenecería a la asociación. Una vez detectada la clave de administrador se accede a las opciones de actualización para administrador.

Opciones de actualización
Estas opciones, en el caso del módulo de administración serían:
a) Lista de asociados a actualizar. Aparecería una lista de todos los asociados y un enlace para acceder a cada una de sus opciones de actualización sin necesidad de volver a autentificarse con la clave de cada asociado.
b) Actualizar las noticias de no asociados. Para que la asociación pueda introducir cómodamente las noticias que no pertenecen a ningún asociado en concreto.

Opciones de actualización
Una vez pulsado el asociado que se desea actualizar se accede al módulo de administración de los asociados, descrito anteriormente.

Actualizar noticias de no asociados
Permite insertar las noticias que no pertenecen a ningún asociado. También será posible editar una noticia antigua o borrarla.

Estimación del tiempo necesario

El siguiente timing representa la marcha prevista para la realización, carga de datos y puesta en marcha del sitio.


Notas para la definición de la base de datos
Durante la primera semana se definirá con el cliente la información que se pretende guardar en la base de datos de los asociados.

Notas para el desarrollo del proyecto
El desarrollo se completará en cuatro semanas, contando desde la aprobación del presupuesto. Con el desarrollo acabado se podrá proceder a la carga de datos.

Notas para la carga de datos
Dado que la base de datos se encontraría inicialmente vacía, la asociación podrá acceder a la actualización de cada uno de los asociados e introducir sus datos. Otra opción es delegar en los asociados para introducir sus datos desde el principio. Hasta que a carga de datos no quede rellena por completo no se puede acabar de el proyecto. La carga de datos podrá alargarse todo lo que la asociación necesite.

Testing e implementación
En este caso la parte de implementación será que las páginas de la asociación recojan la información del catálogo de la base de datos. Mientras que no se haya realizado la carga de datos completa no se puede extraer la información de la base de datos porque seguramente alguna página de los asociados aparecería vacía, dado que la base de datos podría estar vacía.

Estimación económica

Inversión para la creación y puesta en marcha del sitio.

Creación de la base de datos SQL Server 220 €
Creación de los módulos de actualización y muestra de los datos 1560 €
TOTAL 1780 €
*IVA no incluido

Opcionalmente, se puede desarrollar el módulo de ayuda a la actualización de los asociados por parte de la asociación con una única clave de acceso de administrador.

Ampliar módulo seguridad para hacer el nivel de administrador 120 €
Acciones de actualización centralizadas 40 €
TOTAL 160 €
*IVA no incluido

Nota: tener en cuenta que este presupuesto es de 2002. Han pasado varios años desde que se presentó este presupuesto, por lo que los precios tendrían que ser bastante más elevados si lo presentásemos hoy.

Modo de pago
El pago se realizará en dos plazos:

1) En la cuarta semana se entregará el 70%. Una vez terminada la mayor parte del desarrollo, que incluye los formularios de actualización de asociados completos y la posibilidad de ver la ficha de un asociado.
2) Una vez terminada la carga de los datos e incluidas en la web todas las funcionalidades contratadas, se procederá a la entrega del 30% restante.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual