Você está na página 1de 27

Facultad de Ingeniería

Laboratorio 2

Requerimientos de software

Realizado por:

Andrés Felipe Castillo

Jaime Eduardo Estupiñan

Juan Pablo Betancourt

Profesor:

Jeisson Andrés Vergara

Materia:

Ingeniería de Software

Cundinamarca
Bogotá, Colombia
20 de Abril de 2019
Requisitos de Software:
1 - Descripción general del sistema de software identificado:

El cliente que necesita el sistema de software por medio de una descripción verbal y gráfica nos dio a
conocer todas sus necesidades, parámetros y especificaciones que el solicita en el sistema de software
a desarrollar. De la descripción del sistema de software dada por el cliente se llegó a la conclusión de
que lo que se desea es una Aplicación la cual permita a cualquier persona realizar transacciones de
dinero a otras personas que posean la aplicación y que dichas transacciones sean manejadas sobre el
peso Colombiano.

En cuanto a la interfaz gráfica del sistema de software mencionado anteriormente los colores azul y
blanco deben ser predominantes ya que son los colores institucionales de la empresa, y en cuanto a la
plataforma en la que se va a desarrollar, esto es algo que se trabajará a futuro ya que el cliente no
especifico nada acerca del lenguaje de programación, o de la plataforma en la que se va a correr la
aplicación.

Además el sistema de software va a tener usuarios generales y cada uno tendrá una cuenta de ahorros
asignada, y este siempre va a poder ver su saldo. El sistema de software ​también se tendrá un
administrador general de todo el sistema de software, encargado de la gestión de usuarios y cuentas.
Si un nuevo usuario quiere registrarse este va a necesitar del administrador ya que el administrador es
la única persona que puede crear nuevos usuarios. Cada usuario general debe tener un número de
identificación, número de cuenta de ahorros, clave numérica, y el valor de su saldo. Por otro lado el
administrador debe tener un número de identificación, clave alfanumérica, y este debe poseer ciertos
permisos especiales como poder administrar las cuentas de ahorros de cada usuario general, ingresar
fondos y retirar fondos de las cuentas de ahorros de los usuarios generales. Si un usuario quiere
utilizar su cuenta debe ingresar su número de identificación y contraseña, una vez dentro ven el
número de la cuenta y el saldo a su favor, una de las funcionalidades primordiales es el envío de
dinero entre usuarios. Si dos usuarios desean enviar dinero ambos deben estar registrados y tener
cuenta de ahorros, la aplicación va a permitir el envío, el sistema debe validar el saldo mínimo,
cuando se envíe el sistema se encarga de actualizar los saldos de las cuentas de ahorros, y notificar el
resultado de la transacción.

El cliente también dio una serie de necesidades más específicas para el sistema de software a
desarrollar ya que el sistema de software debe permitir que las contraseñas tanto de usuarios como
administrador están cifradas con un algoritmo asimétrico. El administrador se crea directamente en la
base de datos y este no puede tener asociada una cuenta de ahorros y a este no se le notifica sobre
transacciones de dinero. A los usuarios generales pueden recuperar sus contraseñas en el caso de que
se les olvide, y la aplicación debe notificarle a los usuarios generales cada dos meses que deben
cambiar su contraseña, .

El sistema de software también debe ser amigable y fácil de utilizar para los usuarios, y en cuanto a
aspectos de desempeño y rendimiento, el sistema tiene que estar construido para soportar
características de calidad debe soportar 10.000 usuarios concurrentes con tiempos de respuesta no
mayor a 900 ms y que esté totalmente operativo de Lunes a Domingo de 6 am - 10 pm.
2 - Requisitos de software funcionales formalizados de acuerdo a los
parámetros dados:

Historias de Usuario​:

No. Rol Característica/Funcionalidad Razón/Resultado

US0001 Como​ ​usuario Quiero​ iniciar sesión en el sistema Con el fin de​ hacer uso de las
identificandome con mi cédula de ciudadanía funcionales a las que puedo
e ingresando mi contraseña. acceder.

US0002 Como​ ​usuario Quiero​ enviarle dinero desde mi cuenta a Con el fin de​ que el otro usuario
otro usuario. reciba el dinero enviado en su
cuenta.

US0003 Como​ ​usuario Quiero​ ​poder recuperar mi contraseña de Con el fin de​ que pueda iniciar
usuario. sesión en mi cuenta.

US0004 Como Quiero ​poder crear usuarios generales. Con el fin de ​que las personas
administrador puedan acceder a la aplicación
hacer uso de las funcionales que
ésta ofrece.

US0005 Como ​cliente Quiero ​que solo exista un administrador y Con el fin de ​que se puedan
este se cree directamente desde la base de crear cuentas de usuarios y de
datos. poder administrar el sistema.

US0006 Como Quiero ​poder retirar fondos de cualquier Con el fin de​ permitirle a los
administrador cuenta de ahorros de un usuario. usuarios retirar dinero de su
cuenta.

US0007 Como Quiero ​poder ingresar fondos de cualquier Con el fin de ​permitirle a los
administrador cuenta de ahorros de un usuario. usuarios ingresar dinero a su
cuenta.

US0008 Como ​usuario Quiero ​cambiar mi contraseña. Con el fin de ​mantener la


seguridad en mi cuenta.

US0009 Como ​usuario Quiero ​poder ver el numero de mi cuenta y Con el fin de ​conocer mi saldo
mi saldo actual al ingresar a mi cuenta. actual y poder ver mi numero de
cuenta.

US0010 Como ​usuario Quiero ​poder consultar mi historial de Con el fin de ​conocer el flujo de
transacciones. dinero en mi cuenta de ahorros.

US0011 Como ​usuario Quiero ​que se me notifique que cada dos Con el fin de ​pueda estar
meses debo cambiar mi contraseña siempre notificado acerca del
estado de mi contraseña.
Casos de Uso:

Caso de Uso Iniciar sesión No.: US0001

Descripción Acceder a la sesión del usuario mediante la identificación con su cédula de ciudadanía y su
contraseña.

Actor(es) Usuario general: un usuario que solo tiene permisos de realizar transacciones y consultar su
saldo.
Usuario administrador: un usuario que cuenta con permisos especiales pero no puede realizar
transacciones.

Pre-condiciones 1. El usuario debe poseer una cuenta en la sistema.


2. Que el hardware del dispositivo en el que se va a ejecutar la aplicación si ofrezca
todos los recursos necesarios para que esta se pueda ejecutar correctamente.

Flujo Normal 1. El usuario debe ingresar la identificación de su cuenta.


2. El usuario debe ingresar su contraseña.
3. El sistema verifica que la cuenta de usuario exista en el sistema.
4. El sistema verifica que la contraseña ingresada corresponda a la de la cuenta
ingresada.
5. El usuario ingresa a la aplicación.

Flujo Alterno 1. El usuario debe ingresar su cuenta de usuario.


2. El usuario debe ingresar su contraseña.
3. El sistema verifica que la cuenta de usuario exista en el sistema.
4. El sistema verifica que la contraseña ingresada corresponda a la de la cuenta
ingresada.
5. El sistema notifica al usuario que la contraseña o la cuenta son incorrectas.
6. El sistema le permite al usuario volver a ingresar o elegir la opción de que ha
olvidado su contraseña.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.

Caso de Uso Enviar dinero No.: US0002

Descripción Enviar dinero de la cuenta de un usuario a la cuenta de otro usuario.

Actor(es) Usuario general 1: Usuario que realiza la transacción.


Usuario general 2: Usuario que recibe la transacción.

Pre-condiciones 1. El usuario general 1 debe tener una cuenta en el sistema.


2. El usuario general 2 debe tener una cuenta en el sistema.
3. El usuario 1 debe estar autenticado en el sistema.
Flujo Normal 1. El usuario general 1 ingresa el número de cuenta del usuario general 2.
2. El usuario general 1 ingresa la cantidad de dinero a enviar en pesos colombianos.
3. El usuario 1 autoriza el envío del dinero.
4. El sistema verifica que el saldo del usuario general 1 es mayor o igual que la
cantidad de dinero a enviar.
5. El sistema resta la cantidad de dinero enviada de la cuenta del usuario general 1.
6. El sistema suma la cantidad de dinero enviada a la cuenta del usuario general 2.
7. El sistema notifica al usuario general 1 la realización de la transacción y le muestra
un resumen de esta.

Flujo Alterno 1. El usuario general 1 ingresa el número de cuenta del usuario general 2.
2. El usuario general 1 ingresa la cantidad de dinero a enviar en pesos colombianos.
3. El sistema verifica que el saldo del usuario general 1 es mayor o igual que la
cantidad de dinero a enviar.
4. El sistema notifica al usuario general 1 que su saldo es insuficiente y no se puede
realizar la transacción.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.

Caso de Uso Recuperación de la contraseña No.: US0003

Descripción Recuperar la contraseña de usuario por medio de un mensaje al correo de la persona el cual
contenga la contraseña.

Actor(es) Usuario general: un usuario que solo tiene permisos de realizar transacciones y consultar su
saldo.

Pre-condiciones 1. El usuario debe tener una cuenta en la aplicación.

Flujo Normal 1. El usuario elige la opción de recuperar contraseña.


2. El usuario ingresa la identificación de su cuenta.
3. El sistema verifica que la cuenta de usuario exista en el sistema.
4. El sistema notifica al usuario que la contraseña se envió a su correo.
5. El sistema envía un correo con la contraseña a la dirección de correo
correspondiente.

Flujo Alterno 1. El usuario elige la opción de recuperar contraseña.


2. El usuario ingresa la identificación de su cuenta.
3. El sistema verifica que la cuenta de usuario exista en el sistema.
4. El sistema notifica al usuario que la cuenta es incorrecta.
5. El sistema le permite al usuario volver a ingresar la identificación de su cuenta.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.
Caso de Uso Crear usuarios generales No.: US0004

Descripción Creación de nuevos usuarios generales en el sistema a partir de información dada por una
persona.

Actor(es) Usuario administrador: un usuario que cuenta con permisos especiales pero no puede realizar
transacciones.

Pre-condiciones 1. El usuario administrador debe estar autenticado en el sistema.


2. El usuario administrador debe poseer la información de la persona que desea crear
una cuenta.

Flujo Normal 1. El sistema verifica que los datos de la persona sean todos los solicitados.
2. El administrador asigna el nombre a la cuenta, con el nombre de la persona.
3. El administrador asigna un número de identificación único de la cuenta con la
cédula de la persona.
4. El sistema verifica que ninguna cuenta existente tenga ese numero de identificacion.
5. El sistema concatena la cédula de la persona dos dígitos que representan el dia
actual, y le asigna este número a la cuenta de ahorros.
6. El sistema crea de forma aleatoria una contraseña numérica de 6 dígitos.
7. El sistema cifra la contraseña ​con un algoritmo asimétrico.
8. El administrador asigna un correo a la cuenta, con el correo de la persona.
9. El sistema verifica que la dirección de correo tenga un formato válido.
10. El administrador crea la nueva cuenta de usuario general.

Flujo Alterno 1. El sistema verifica que los datos de la persona sean todos los solicitados.
2. El sistema le notifica a la persona que hacen falta datos y se pospone la creación de
la cuenta.
3. El administrador asigna el nombre a la cuenta, con el nombre de la persona.
4. El administrador asigna un número de identificación único de la cuenta con la
cédula de la persona.
5. El sistema verifica que ninguna cuenta existente tenga ese numero de identificacion.
6. El sistema le notifica a la persona que ya hay una cuenta con esa cédula y se
pospone la creación de la cuenta.
7. El sistema concatena la cédula de la persona dos dígitos que representan el dia
actual, y le asigna este número a la cuenta de ahorros.
8. El sistema crea de forma aleatoria una contraseña numérica de 6 dígitos.
9. El sistema cifra la contraseña ​con un algoritmo asimétrico.
10. El administrador asigna un correo a la cuenta, con el correo de la persona.
11. El sistema verifica que la dirección de correo tenga un formato válido.
12. El sistema le notifica a la persona que la dirección de correo no es válida y se
pospone la creación de la cuenta
13. El administrador crea la nueva cuenta de usuario general.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.
Caso de Uso Crear el administrador No.: US0005

Descripción Crear un único usuario con permisos privilegiados que solo se puede crear directamente
desde la base de datos.

Actor(es) Database administrator (DBA): Es el encargado de la creación y la administración de la base


de datos del sistema.

Pre-condiciones 1. El DBA debe contar con el número de identificación (Cedula) del administrador y
la contraseña del administrador

Flujo Normal 1. El DBA ingresa la información a la base de datos.


2. La base de datos verifica que el nombre de usuario sea correcto, es decir que
pertenezca a una cédula de ciudadanía.
3. La base de datos verifica que la contraseña está compuesta por una combinación 6
caracteres correspondientes a una combinación de los caracteres del alfabeto inglés
y los números del 0 al 9.
4. El sistema verifica que no exista un administrador actualmente.
5. El sistema verifica que no exista una cuenta con ese numero de identificacion.
6. El sistema cifra la contraseña con un algoritmo asimétrico.
7. Se crea la cuenta del administrador directamente desde la base de datos.

Flujo Alterno 1. El DBA ingresa la información a la base de datos.


2. La base de datos verifica que el nombre de usuario sea correcto, es decir que
pertenezca a una cédula de ciudadanía.
3. La base de datos indica que la cédula no es correcta y no permite continuar.
4. La base de datos verifica que la contraseña está compuesta por una combinación 6
caracteres correspondientes a una combinación de los caracteres del alfabeto inglés
y los números del 0 al 9.
5. La base de datos indica que la contraseña es incorrecta y no permite continuar.
6. El sistema verifica que no exista un administrador actualmente.
7. La base de datos indica que existe un administrador actualmente.
8. El sistema verifica que no existe una cuenta con el número de identificación que se
desea ingresar.
9. El sistema cifra la contraseña con un algoritmo asimétrico.
10. La base de datos indica que se existe una cuenta con ese numero de identificacion y
no permite continuar.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.
Caso de Uso Retiros de fondos en las cuentas de ahorros No.: US0006

Descripción Realizar retiros de fondos en las cuentas de ahorros de los usuarios generales.

Actor(es) 1. Usuario administrador: un usuario que cuenta con permisos especiales pero no
puede realizar transacciones.

Pre-condiciones 1. El usuario administrador debe estar autenticado en el sistema.


2. El usuario administrador debe poseer el número de la cuenta de ahorros del usuario
al cual se le va a hacer el retiro de fondos.

Flujo Normal 1. El administrador ingresa el número de cuenta de ahorros del usuario.


2. El administrador ingresa la cantidad de dinero a retirar.
3. El sistema verifica que el saldo de la cuenta del usuario sea igual o superior a la
cantidad de dinero a retirar.
4. El sistema resta la cantidad de dinero retirada, al saldo de la cuenta del usuario.
5. El sistema notifica al administrador que el retiro fue satisfactorio.

Flujo Alterno 1. El administrador ingresa el número de cuenta de ahorros del usuario


2. El administrador ingresa la cantidad de dinero a retirar.
3. El sistema verifica que el saldo de la cuenta del usuario sea igual o superior a la
cantidad de dinero a retirar.
4. El sistema notifica al administrador que el saldo del usuario es insuficiente para el
monto del retiro.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.

Caso de Uso Ingresos de fondos en las cuentas de ahorros No.: US0007

Descripción Realizar ingresos de fondos en las cuentas de ahorros de los usuarios generales.

Actor(es) 1. Usuario administrador: un usuario que cuenta con permisos especiales pero no
puede realizar transacciones.

Pre-condiciones 1. El usuario administrador debe estar autenticado en el sistema.


2. El usuario administrador debe poseer el número de la cuenta de ahorros del usuario
al cual se le va a hacer el ingreso de fondos.

Flujo Normal 1. El administrador ingresa el número de cuenta de ahorros del usuario.


2. El sistema verifica que el número de cuenta de ahorros exista.
3. El administrador ingresa la cantidad de dinero a ingresar.
4. El sistema suma la cantidad de dinero ingresada, al saldo de la cuenta del usuario.
5. El sistema notifica al administrador que el ingreso fue satisfactorio.

Flujo Alterno 1. El administrador ingresa el número de cuenta de ahorros del usuario.


2. El sistema verifica que el número de cuenta de ahorros exista.
3. Se le notifica al administrador que la cuenta de ahorros no existe.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.

Caso de Uso Cambiar contraseña No.: US0008

Descripción Cambiar la contraseña del usuario cada 2 meses.

Actor(es) Usuario general: un usuario que solo tiene permisos de realizar transacciones y consultar su
saldo.

Pre-condiciones 1. El usuario general debe poseer una cuenta en la sistema.


2. El usuario general debe estar autenticado en el sistema.
3. Deben haber pasado 2 meses desde el último cambio de contraseña.

Flujo Normal 1. Se verifica que hayan pasado 2 meses desde el último cambio de clave.
2. Se abre un formulario donde debe ingresar la nueva contraseña.
3. Una vez el usuario ingresa la nueva contraseña se valida lo siguiente:
a. El sistema verifica que la contraseña sea numérica y que sea solo de 6
dígitos.
b. El sistema verifica que no sea la contraseña inmediatamente anterior(No
puede ser la misma contraseña de antes de que se intentara cambiar).
4. Una vez validado, el sistema cambia la contraseña asociada al usuario por la nueva
que se haya definido.
5. El sistema cifra la contraseña con un algoritmo asimétrico.
6. Se actualiza el día de cambio de contraseña a dos meses de la fecha actual.

Flujo Alterno 1. Se verifica que hayan pasado 2 meses desde el último cambio de clave.
2. Como no han pasado 2 meses se le informa que no está disponible el cambio de
clave.
3. Se abre un formulario donde debe ingresar la nueva contraseña.
4. Una vez el usuario ingresa la nueva contraseña se valida lo siguiente:
a. El sistema verifica que la contraseña sea numérica y que sea solo de 6
dígitos.
b. El sistema verifica que no sea la contraseña inmediatamente anterior(No
puede ser la misma contraseña de antes de que se intentara cambiar).
5. Al fallar la validación se notifica al usuario que la contraseña no es válida y que lo
intente de nuevo.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.
Caso de Uso Ver número de cuenta y saldo No.: US0009

Descripción Permitir que el usuario vea su número de cuenta y contraseña al ingresar a su cuenta.

Actor(es) Usuario general: un usuario que solo tiene permisos de realizar transacciones y consultar su
saldo.

Pre-condiciones 1. El usuario general debe estar autenticado en el sistema.

Flujo Normal 1. El usuario general ingresa al sistema.


2. El sistema le muestra el número de cuenta.
3. El sistema le muestra el saldo de la cuenta.

Flujo Alterno 1. El usuario general ingresa al sistema.


2. El sistema no muestra el número de cuenta e indica un error.
3. El sistema no muestra el saldo de la cuenta e indica un error.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.

Caso de Uso Consultar historial de transacciones No.: US0010

Descripción Permite que el usuario vea el historial de todas las transacciones realizadas y el ingresos y
retiros de su cuenta al ingresar a ella.

Actor(es) Usuario general: un usuario que solo tiene permisos de realizar transacciones y consultar su
saldo.

Pre-condiciones 1. El usuario general debe estar autenticado en el sistema.

Flujo Normal 1. El usuario se ingresa a su cuenta.


2. El sistema muestra las transacciones realizadas en su cuenta.
3. El sistema muestra al usuario los ingresos a su cuenta.
4. El sistema muestra al usuario los retiros a su cuenta.

Flujo Alterno 1. El usuario se ingresa a su cuenta.


2. El sistema no muestra las transacciones realizadas en su cuenta.
3. El sistema no muestra al usuario los ingresos a su cuenta.
4. El sistema no muestra al usuario los retiros a su cuenta.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.
Caso de Uso Notificación Cambio de Contraseña. No.: US0011

Descripción Permite que el usuario al ingresar a la aplicación, si ya han pasado dos meses se le notifique
que debe cambiar la contraseña para poder volver a entrar.

Actor(es) Usuario general: un usuario que solo tiene permisos de realizar transacciones y consultar su
saldo.

Pre-condiciones 1. Usuario general: un usuario que solo tiene permisos de realizar transacciones y
consultar su saldo.

Flujo Normal 1. El usuario ingresa a su cuenta.


2. El sistema verifica si han pasado dos meses desde el último cambio de contraseña.
3. El sistema e le notifica al usuario que debe cambiar la contraseña.
4. El sistema redirige al usuario al formulario de contraseña.

Flujo Alterno 1. El usuario ingresa a su cuenta.


2. El sistema verifica si han pasado dos meses desde el último cambio de contraseña.
3. El sistema le permite al usuario iniciar sesión.

Autor(es): Jaime Estupiñan, Andrés Castillo y Fecha: 4.5.2019 Versión: 1.0


Juan Betancourt.
Diagrama de Casos de Uso:

3 - Requisitos de software No funcionales formalizados de acuerdo a los


parámetros dados:

1. La aplicación debe tener los colores institucionales azul y blanco.


2. La aplicación debe soportar 10.000 usuarios concurrentes.
3. El sistema de software no debe tener tiempos de respuesta mayores a 900 ms.
4. El horario que maneja la aplicación será el horario de colombia ​(gmt-5).
5. La aplicación debe estar totalmente operativa de lunes a domingo de 6 am a 10 pm.
6. La aplicación debe tener una interfaz gráfica de usuario (GUI).
7. Un usuario puede estar conectado al mismo tiempo en diferentes dispositivos.
8. El sistema de software debe ser de tipo aplicación móvil.
9. El sistema de software debe ser construido para operar en sistema operativo Android.
10. El sistema de software debe ser implementado en lenguaje de programación Java.
11. El sistema de software debe hacer uso de una base de datos relacional.
Diseño de Software:
I. Diseño Arquitectónico

Diseñar una arquitectura conformada por:

1. Dos componentes: aplicación móvil y base de datos.


2. Tres capas: presentación, lógica de negocio y acceso a datos. Estas capas
conformarán el componente aplicación móvil.

Arquitectura Diseñada
II. Diseño detallado

Datos:

Diseñar un modelo de datos (diagrama entidad-relación (E-R)) que satisfaga los requisitos
funcionales identificados.

Modelo Entidad Relación 


 

Modelado de Clases:

Dado que la aplicación móvil debe ser implementada usando el lenguaje de programación
Java, basados en el paradigma de programación orientada a objetos, diseñar un diagrama
de clases que satisfaga los requisitos funcionales identificados y que sea totalmente
consistente con el diagrama E-R.
Diagrama de Clases

Algoritmos:

A partir de los casos de uso identificados en el análisis de requisitos, diseñar un ​diagrama de


flujo (de actividades)​ para cada uno de ellos, el cual describirá el algoritmo a llevar a cabo
para satisfacer dicha funcionalidad.
Caso de Uso ​US0001​: ​Iniciar sesión
Caso de Uso ​US0002​: ​Enviar dinero
Caso de Uso ​US0003: ​Recuperación de la contraseña
Caso de Uso ​US0004: ​Crear usuarios generales
Caso de Uso ​US0005: ​Crear el administrador
Caso de Uso ​US0006: ​Retiros de fondos en las cuentas de ahorros
Caso de Uso ​US0007: ​Ingresos de fondos en las cuentas de ahorros
Caso de Uso ​US0008: ​Cambiar contraseña
Caso de Uso ​US0009: ​Ver número de cuenta y saldo
Caso de Uso ​US0010: ​Consultar historial de transacciones
Caso de Uso ​US0011: ​Notificación Cambio de Contraseña.

Você também pode gostar