## Requerimientos del Proyecto y Modelado

El primer paso para determinar los requerimientos del proyecto es la entrevista con el usuario base para saber que se espera de una subasta on-line. Este es un paso importante, y no puede pasarse por alto porque es una base sólida de información que nos ayudará a definir las capacidades clave de nuestra aplicacion.

El capítulo 2 pasea a través del código de la aplicación, explica como trabaja la plataforma Enterprise JavaBeans, y nos cuenta cómo ejecutar una demostración en vivo. Si nunca has visto o usado una subasta on-line, aquí hay una maqueta de las páginas HTML de la aplicación de ejemplo.

- Entrevista al usuario Base
- Modelo de Proyecto

### Entrevista al usuario Base

Por la dicusión y por mantener las cosas sencillas, esta explicación asume que en las entrevistas con los usuarios base se encontraron los siguientes requerimientos para la casa de subastas:

Requerimientos de la Casa de Subastas

- Información Necesaria del Comprador y Vendedor
- Notas de Vendedores para postear ítems
- Grabar e Informar de las transaciones diarias

Requerimientos del usuario

- Pujar por o Vender un ítem
- Buscar o ver ítems en venta
- Notificar las ventas al vendedor y al comprador

### Modelo de Proyecto

Después de analizar los requerimientos, podemos construir un diagrama de flujo de la aplicación para obtener un mejor entendimiento de los elementos necesarios en la aplicación y cómo interactua.

Un diagrama de flujo muestra la relación entre los actores y procesos dentro del sistema. Un proceso es una función única en un sistema, y un actor es la persona o software que realiza la acción o proceso. Por ejemplo, un comprador es el actor que realiza la función (proceso) de pujar por un ítem de la subasta, y el vendedor es el actor que realiza el proceso de postear un ítem para su subasta.

Aunque, no todos los actores son personas. Por ejemplo, el software es el actor que determina cuando un ítem se ha cerrado, encuentra la puja más alta, y notifica la venta al comprador y al vendedor.

El Unified Modeling Language (UML) es la herramienta que se usa para los diagramas de procesos. El siguiente diagrama usa UML para describir los procesos del comprador y del vendedor para una aplicación de subasta on-line.

En UML, los sistemas se agrupan en cuadrados, los actores se representas por figuras humanas, los procesos se denotan mediante óvalos, y las líneas muestran como los actores usan el sistema.

La siguiente descripción define el proyecto. Estas descripciones no son parte del UML, pero son una herramienta útil para la definición de proyectos.

#### La Casa Identifica a Compradores y Vendedores

Una aplicación de subastas es usada por compradores y vendedores. Un comprador necesita saber quíen es el vendedor a quien tiene que pagarle, y el vendedor necesita conocer a los compradores para responder a sus preguntas sobre el producto y para finalizar la venta. Por eso, para postear o pujar por un ítem de la subasta, los compradores y vendedores necesitan estar registrados. El registro necesita obtener la siguiente información sobre los compradores y vendedores:

- User ID y password para comprar y vender.
- Dirección de E-mail para que pueda comunicarsele la puja más alta cuando se cierre la subasta.
- Información de la tarjeta de crédito para que la casa de subastas pueda cobrar al vendedor por listar sus ítems.

Una vez registrado, el usuario puede postear o pujar por un ítem en venta.

#### La Casa Determina la Puja más alta

La aplicación de subastas hace consultas a la base de datos y graba e informa de las transaciones diarias. La aplicación busca ítems que se han cerrado y determina la puja más alta.

#### La Casa Notitica a los Compradores y Vendedores

La aplicación subasta usa el e-mail para notificar al que ha pujado más alto y al vendedor, y cobrarle al vendedor por los servicios.

#### Alguien Busca un Ítem

Los compradores y vendedores introducen un string de búsqueda para localizar todos los ítems en subasta de la base de datos.

#### Alguien Ve los Ítems en Venta

Para popularizar la subasta y conseguir nuevos vendedores y compradores, la aplicación pemite que cualquiera vea los ítems de la subasta sin requerir que esté registrado. Para hacer esto sencillo, la subasta permite que cualquiera vea una lista de los ítems de alguna de estas tres formas:

- Todos los ítems en subasta.
- Nuevos ítems listados hoy.
- Ítems que se cierran hoy.

#### Alguien Ve los Detalles de un Ítem

La lista sumarizada enlaza con la siguiente información detallada de cada ítem. Esta información está disponible para cualquiera sin necesidad de identificación.

- Sumario del Ítem.
- Número del ítem en la subasta.
- Precio Actual
- Número de pujas
- Fecha de puesta en subasta
- Fecha de cierre del ítem
- ID del vendedor
- Puja más alta
- Descripción del ítem

#### El Vendedor Postea Ítems para su Venta

Para postear un ítem para su venta, un vendedor necesita identificarse a sí mismo y describir el ítem, de esta forma:

- User ID y password para la identificación del vendedor
- Descripción sumaria de ítem
- Precio de puja inicial
- Descripción detallada del ítem
- Número de días que el ítem estará en la subasta

#### El Comprador Puja por Items

Una página de sumario detallado por cada ítem permite a los usuarios registrados identificarse a sí mismos y pujar por el ítem proporcionando la siguiente información:

- User ID
- Password
- Cantidad de la Puja

#### Diagrama de Actividad

El diagrama de actividad muestra el flujo de tareas dentro de la casa de subastas como una totalidad. Este diagrama muestra la aplicación subasta. El círculo negro de la izquierda muestra el principio de las actividades, y el círculo blanco punteado en el centro denota donde terminan las actividades.

Ozito