Está en la página 1de 12

Universidad de Santiago de Chile

Facultad de Ciencia
Departamento de Matemática y Ciencia de la Computación
Licenciatura en Ciencia de la Computación

Ingenierı́a de Software II
Informe N2. “Análisis de Requerimientos y Casos de Uso”

Hernán Diaz Fuentes Dino Araya Sánchez


Benjamı́n Bravo Villarroel 1 de junio de 2020
Carla Jara Berrı́os
Gina Ozimisa Grimal
Gianfranco Bratti Villalobos
1

Índice

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Análisis de requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Requerimientos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Requerimientos no funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Requerimientos de implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Diagramas de casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Especificación de casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5. Referencias bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2

Índice de figuras

1. Diagrama de caso de uso ComprApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Índice de tablas

1. Caso de uso Agregar un producto al carrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


2. Caso de uso Eliminar producto del carrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Caso de uso Enviar solicitud de compra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Caso de uso Aceptar solicitud de compra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Caso de uso Registrar producto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Caso de uso Editar información del producto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Caso de uso Eliminar producto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8. Caso de uso Publicar producto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
9. Caso de uso Establecer comunicación cliente/vendedor . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10. Caso de uso Concretar venta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3

1. Introducción
En este informe se expone la segunda etapa del desarrollo del software ComprApp, la cual, según la metodologı́a
OMT++ utilizada para el desarrollo de este software, serı́a la fase de conceptualización que tiene como objetivos
establecer los requisitos esenciales para el sistema, identificar y documentar lo que de verdad se necesita de forma
que se pueda comunicar fácilmente al cliente y a los miembros del equipo.

Este proceso se divide en dos partes, correspondientes al análisis de requerimientos, que permite detectar las
necesidades de clientes y usuarios para obtener especificaciones precisas, consistentes y completas de requerimien-
tos funcionales y no funcionales, y los casos de uso que describen la forma en cómo el sistema responde a las
funcionalidades con la participación del usuario.

2. Análisis de requerimientos
En la siguiente sección se detallará los requerimientos del sistema en base a tres categorı́as, las cuales son los
requerimientos funcionales, no funcionales y de implementación.

Estos requisitos son los necesarios para levantar la solución del sistema CompraApp, teniendo como propósito
describir en su totalidad el funcionamiento, limitaciones y requisitos de implementación del sistema.

2.1. Requerimientos funcionales


A continuación se muestra el listado de requerimientos funcionales del sistema CompraApp.

 Registrar cliente
 Registrar vendedor
 Agregar producto al carrito.

 Eliminar producto del carrito.


 Enviar solicitud de compra.
 Aceptar solicitud de compra.
 Registrar producto.

 Editar producto.
 Eliminar producto.
 Publicar producto.

 Establecer comunicación cliente/vendedor.


 Concretar venta.
4

2.2. Requerimientos no funcionales


A continuación se muestra el listado de requerimientos no funcionales del sistema CompraApp.

 El tamaño máximo de solicitud de la API es 10 MiB.


 La cantidad máxima de conexiones simultáneas para clientes móviles por base de datos es de 1,000,000.

 El sistema debe tener disponibilidad el 99,99 % de las veces que un usuario intente acceder.
 El diseño de la interfaz debe adaptarse a la resolución de pantalla de dispositivos móviles Android.
 El sistema debe actualizar los datos del usuario cada vez que este realice una acción que modifique.

2.3. Requerimientos de implementación


A continuación se muestra el listado de requerimientos de implementación del sistema CompraApp.

 Para el desarrollo del sistema se debe utilizar el lenguaje de programación Java Development Kit (JDK) 8.

 La base de datos debe ser implementada bajo el motor de datos Firebase Realtime Database.
 Se debe utilizar el entorno de desarrollo Android Studio 3.5 para la implementación del sistema.
 El usuario debe tener el sistema operativo Android instalado en su móvil para utilizar CompraApp.

3. Casos de uso
En esta sección se presenta el diagrama de casos de uso y su especificación.

3.1. Diagramas de casos de uso


En la figura 1 se presenta el diagrama de casos de uso de ComprApp.
5

Figura 1: Diagrama de caso de uso ComprApp


6

3.2. Especificación de casos de uso


A continuación se muestran los casos de uso con sus respectivas especificaciones.

Tabla 1: Caso de uso Agregar un producto al carrito


Caso de uso No 1: Agregar un producto al carrito
Resumen: Permite al cliente agregar un producto al carro de compras
Frecuencia: Ilimitada
Actores: Cliente
Precondiciones: Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Descripción flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1-Habilitar la opción y cuadro de texto “Buscar”
2-Ingresar el nombre del producto a buscar
3-Aceptar opción “Buscar”
4-Buscar productos coincidentes en el sistema[exc01]
5-Mostrar productos que coinciden con la busqueda
6-Habilitar opción de “Agregar al Carrito”
para cada producto
7-Aceptar opción “Agregar al carrito”para el producto
8-Agregar producto al carrito de compras
9-Fin del caso de uso
Excepciones:
[exc01]: No hay coincidencias en la búsqueda. Mostrar mensaje de advertencia.
Postcondiciones: Producto agredado al carrito de compras

Tabla 2: Caso de uso Eliminar producto del carrito


Caso de uso No 2: Eliminar producto del carrito
Resumen: Permite al cliente eliminar producto del carrito de compras
Frecuencia: Ilimitada
Actores: Cliente
Precondiciones: Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Debe haber al menos un producto en el carrito [Caso de uso: Agregar producto al carrito]
Descripción flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1-Habilitar opción “Eliminar del carrito”
2-Mostrar productos del carrito de compas
3-Seleccionar producto a eliminar
4-Aceptar opción “Eliminar del carrito”
5-Eliminar producto seleccionado del carrito [exc01]
6-Fin del caso de uso
Excepciones:
[exc01]: No hay producto seleccionado para eliminar. Mostrar mensaje de advertencia.
Postcondiciones: Producto eliminado del carrito
7

Tabla 3: Caso de uso Enviar solicitud de compra


Caso de uso No 3: Enviar solicitud de compra
Resumen: Permite al cliente realizar compras de productos del negocio
Frecuencia: Ilimitada
Actores: Cliente
Precondiciones:
Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Carrito de compras con al menos un producto [Caso de uso: Agregar producto al carrito]
Descripción Flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1-Mostrar lista de productos en el carrito de compras
2-Habilitar opción de confirmar la lista
3-Aceptar opción de confirmación
4-Mostrar el precio total de la compra
5-Generar solicitud de compra
6-Enviar solicitud al vendedor
7-Fin del caso de uso
Postcondiciones: Se envió solicitud de compra

Tabla 4: Caso de uso Aceptar solicitud de compra


Caso de uso No 4: Aceptar solicitud de compra
Resumen: Permite al vendedor aceptar una solicitud de compra emitida por el cliente
Frecuencia: Ilimitada
Actores: Vendedor
Precondiciones: Solicitud de compra enviada [Caso de uso N: Producto registrado]
Descripción flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1-Mostrar lista de solicitudes de compra emitidas
2-Habilitar opción “Aceptar Solicitud”
3-Aceptar opción “Aceptar Solicitud”
4-Habilitar “Chatear con el cliente”[Caso de uso: Establecer comunicacion
cliente/vendedor]
5-Fin del caso de uso
Postcondiciones: Solicitud de compra aceptada, comunicacion cliente/vendedor establecida
8

Tabla 5: Caso de uso Registrar producto


Caso de uso No 5: Registrar producto
Resumen: Permite al vendedor ingresar los datos de un producto a la base de datos
Frecuencia: Ilimitada
Actores: Vendedor
Precondiciones: Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Descripción flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1- Habilitar opcion de registro
2- Seleccionar registro de productos
3- Habilitar formulario de los datos
4- Ingresar los datos del producto
5- Mostrar opcion confirmar “datos del producto”
6- Confirmar los datos
7- Verificar los datos [exc01]
8- Ingresar los datos al sistema
9- Fin del caso de uso
Excepciones:
[exc01]: Mostrar mensaje de advertencia “ya existen los datos en el sistema”.
Postcondiciones: Producto registrado

Tabla 6: Caso de uso Editar información del producto


Caso de uso No 6: Editar información del producto
Resumen: Permite al vendedor editar la información de un producto
Frecuencia: Ilimitada
Actores: Vendedor
Precondiciones:
Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Debe existir al menos un producto que el vendedor haya registrado
Descripción Flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1- Habilitar la opción de editar información del producto.
2- Habilitar las opciones de editar formulario
3- Llenar formulario del producto.
4- Verificar formulario del producto [exc01]
5- Habilita la opcion “Confirmar”
6- Seleccionar la opción “Confirmar”
7-Fin del caso de uso
Excepciones:
[exc01]: Campos de ingreso vacios. Mostrar mensaje de advertencia.
Postcondiciones: Se editó la información del producto
9

Tabla 7: Caso de uso Eliminar producto


Caso de uso No 7: Eliminar producto
Resumen: Permite al vendedor eliminar un producto
Frecuencia: Ilimitada
Actores: Vendedor
Precondiciones:
Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Debe existir al menos un producto que el vendedor haya registrado
Descripción Flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1- Habilita la opción “Eliminar producto”
2- Selecciona la opción “Eliminar producto”
3- Despliega una lista de productos que tenga registrado el vendedor
4.- Selecciona producto de la lista
5.- Muestra un mensaje de confirmación
6.- Habilita la opcion “Confirmar” [exc01]
7.- Selecciona la opción “Confirmar”
8.- Elimina el producto seleccionado
9- Fin del caso de uso
Excepciones:
[exc01]: No hay producto seleccionado para eliminar. Mostrar mensaje de advertencia.
Postcondiciones: Se eliminó el producto

Tabla 8: Caso de uso Publicar producto


Caso de uso No 8: Publicar producto
Resumen: Permite al vendedor publicar un producto
Frecuencia: Ilimitada
Actores: Vendedor
Precondiciones: Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
El vendedor debe tener un producto registrado [Caso de uso: Registrar producto]
Descripción flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1-Habilitar la opción “Publicar”
2-Mostrar detalles del producto
3-Aceptar opción “Publicar”
4-Publicar el producto
5-Fin del caso de uso
Postcondiciones: Producto publicado
10

Tabla 9: Caso de uso Establecer comunicación cliente/vendedor


Caso de uso No 9: Establecer comunicación cliente/vendedor
Resumen: Permite al cliente y al vendedor comunicarse
Frecuencia: Ilimitada
Actores: Cliente y vendedor
Precondiciones:
Sesión iniciada en la aplicación [Caso de uso: Validar usuario y contraseña]
Solicitud de compra aceptada [Caso de uso: Aceptar solicitud de compra]
Descripción Flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1-Habilitar opción de chat
2-Aceptar opción de chat
3-Habilitar chat
4- Comunicarse con la contraparte hasta que se pongan de acuerdo [exc01]
5-Habilitar opción de terminar chat
6- Aceptar opción de terminar chat
7-Fin del caso de uso
Postcondiciones: Se estableció comunicación

Tabla 10: Caso de uso Concretar venta


Caso de uso No 10: Concretar venta
Resumen: Cliente y vendedor llegan a acuerdo sobre el producto
Frecuencia: Ilimitada
Actores: Vendedor, Cliente
Precondiciones: Establecer comunicacion cliente/vendedor [Caso de uso: Establecer comunicacion cliente/vendedor]
Descripción flujo normal (escenario exitoso)
Responsabilidad del actor Responsabilidad del sistema
1- Habilitar opcion “venta concretada“ a vendedor
2-Habilitar opcion “compra concretada“ a cliente
3- Vendedor confirma “venta concretada”
4- Cliente confirma “compra concretada”
5- Sistema disminuye stock de productos comprados en
las unidades correspondientes
6- Fin del caso de uso
Postcondiciones: Venta concretada

4. Conclusiones
El análisis de requerimientos representado mediante el diagrama de casos de uso y la especificación de los mismos
permite entender más claramente lo que quiere el usuario, de modo que se puedan transformar en funcionalidades
del sistema que puedan suplir estas necesidades de manera satisfactoria.

Este proceso de conceptualización nos ayudó de buena forma a identificar bien las necesidades que tiene nuestro
cliente hasta ahora, pero debido a que estamos trabajando con una metodologı́a ágil, estas necesidades púeden
modificarse y habrá que adecuarse a estos cambios.
11

Con el proceso de conceptualización finalizando damos paso a la nueva etapa de análisis orientado a objetos,
dentro de las metodologı́as OMT++, que tiene como propósito entender los requerimientos obtenidos y comprender
el dominio del problema del sistema a desarrollar.

5. Referencias bibliográficas
(3 de diciembre de 2019). Uso y lı́mites. Firebase. Recuperado de https://firebase.google.com/docs/firestore/quotas?hl=es-
419

También podría gustarte