srs software requirements specification.pegasus.javeriana.edu.co/~cis1530ap01/documentos/srs.pdf ·...

41
SRS SISINFOCOOP 1 SRS Software Requirements Specification. Oscar Rey Pontificia Universidad Javeriana Facultad de Ingeniería Agosto de 2015

Upload: phungdat

Post on 05-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

SRS SISINFOCOOP

1

SRS Software Requirements Specification.

Oscar Rey

Pontificia Universidad Javeriana

Facultad de Ingeniería

Agosto de 2015

SRS SISINFOCOOP

2

1 Historial de Cambios

Encargado Rol Versi

ón

Secció

n

Fecha Tipo Descripción

Oscar Rey Director de

Calidad

0.1 1,2,3,4 30/08/2015 Promoción Creación del

documento línea base,

con sus respectivas

secciones.

Oscar Rey Director de

Documentación

0.2 1.1 30/08/2015 Promoción Definición del

propósito del

documento.

Oscar Rey Director de

Documentación

0.3 2.1.1 30/08/2015 Promoción Definición de interfaces

con el sistema.

Oscar Rey Director de

Documentación

0.4 2.1.4 30/08/2015 Promoción Definición de interfaces

de software.

Oscar Rey Director de

Documentación

0.5 2.3 30/08/2015 Promoción Definición de

características de

usuario

Oscar Rey Director de

Calidad

0.6 1.5 30/08/2015 Promoción Definición de la

Apreciación global

Oscar Rey Director de

Calidad

0.7 2.1.3 30/08/2015 Promoción Definición de las

interfaces con el

hardware

Oscar Rey Gerente 0.8 2,1,2 01/09/2015 Promoción Definición de interfaces

con el usuario

Oscar Rey Director de

calidad

0.9 2.6 01/09/2015 Promoción Definición de las

suposiciones y

dependencias del

producto

Oscar Rey Director de

documentación

1.0 2.2 01/09/2015 Promoción Definición de las

funciones del producto

Oscar Rey Gerente 1.1 1 y 2 01/09/2015 Modificación Se modificaron las

SRS SISINFOCOOP

3

Tabla 1. Historial de cambios

secciones 1 y 2

Oscar Rey Director de

calidad

1.3 3.5 01/09/2015 Promoción Definición de

subcategorías.

Oscar Rey Director de

documentación

1.3.1 3.5 02/09/2015 Modificación Refinamiento de las

subcategorías por

medio de párrafos

explicativos.

Oscar Rey Director de

documentación

1.4 3.6 02/09/2015 Promoción Definición de las

especificaciones.

Oscar Rey Director de

calidad

1.4.1 3.6 02/09/2015 Modificación Refinamiento de las

especificaciones por

medio de una tabla de

requerimientos

implementados.

Oscar Rey Líder de

Desarrollo

1.7 3.4 03/09/2015 Promoción Se definió las

trazabilidades de los

requerimientos

Oscar Rey Analista de

Requerimientos

1.8 3.3 03/09/2015 Promoción Se definió las

prioridades de los

requerimientos

Oscar Rey Analista de

Requerimientos

1.9 4.5 13/09/2015 Promoción Se definió las

prioridades usada para

los requerimientos

SRS SISINFOCOOP

4

2 Tabla de contenido

1 Historial de Cambios ......................................................................................................... 2

2 Tabla de contenido ............................................................................................................. 4

3 Lista de Tablas ..................................................................................................................... 6

4 Lista de Ilustraciones ........................................................................................................ 7

1 Introducción ......................................................................................................................... 8

1.1 Propósito .................................................................................................................................. 8

1.2 Alcance ...................................................................................................................................... 8

1.3 Definiciones, Acrónimos, y Abreviaciones ..................................................................... 8

1.4 Referencias ............................................................................................................................ 10

1.5 Apreciación Global .............................................................................................................. 10

2 Descripción Global .......................................................................................................... 11

2.1 Perspectiva del Producto .................................................................................................. 11

2.1.1 Interfaces con el sistema ............................................................................................................... 11

2.1.2 Interfaces con el usuario................................................................................................................ 12

2.1.3 Interfaces de Hardware y Comunicación ............................................................................... 14

2.1.4 Interfaces con el Software ............................................................................................................. 14

2.1.5 Restricciones de Memoria ............................................................................................................. 15

2.1.6 Operaciones ......................................................................................................................................... 15

2.1.7 Requerimientos de Adaptación del Sitio ................................................................................ 16

2.2 Funciones del Producto ..................................................................................................... 16

2.3 Características del Usuario ............................................................................................... 17

2.4 Restricciones ......................................................................................................................... 17

2.4.1 Restricciones del Proyecto: .......................................................................................................... 18

2.4.2 Restricciones del Producto:.......................................................................................................... 18

2.5 Modelo del Dominio ............................................................................................................ 19

2.6 Suposiciones y Dependencias .......................................................................................... 23

2.7 Distribución de Requerimientos..................................................................................... 25

3 Descripción de requerimientos .................................................................................. 27

3.1 Especificaciones ................................................................................................................... 27

3.1.1 Requerimientos Funcionales ....................................................................................................... 27

3.1.2 Requerimientos No funcionales ................................................................................................. 28

3.1.3 Validaciones ......................................................................................................................................... 29

3.1.4 Dashboard............................................................................................................................................. 29

3.2 Priorización ........................................................................................................................... 29

3.3 Trazabilidad .......................................................................................................................... 30

3.4 Pruebas ................................................................................................................................... 31

4 Proceso Ingeniería de Requerimientos .................................................................... 32

4.1 Incremento ............................................................................................................................ 32

SRS SISINFOCOOP

5

4.1.1 Arquitectura......................................................................................................................................... 32

4.2 Origen de requerimientos................................................................................................. 35

4.2.1 Especificación de categorías ........................................................................................................ 36

4.2.2 Especificación de las subcategorías ......................................................................................... 36

4.3 Priorización de los Requerimientos .............................................................................. 38

4.3.1 Proceso de Priorización ................................................................................................................. 38

4.4 Trazabilidad de los Requerimientos ............................................................................. 40

4.5 Verificación ........................................................................................................................... 40

5 Anexos ................................................................................................................................. 41

SRS SISINFOCOOP

6

3 Lista de Tablas Tabla 1. Historial de cambios ....................................................................................................................................... 3

Tabla 2. Definiciones, acrónimos y abreviaciones ............................................................................................. 9

Tabla 4. Interfaces de software ................................................................................................................................ 15

Tabla 5. Restricciones de memoria......................................................................................................................... 15

Tabla 6 Características del Usuario ........................................................................................................................ 17

Tabla 7. Priorizaciones ................................................................................................................................................. 30

Tabla 8 Modelo Vista Controlador .......................................................................................................................... 32

Tabla 9 Nodo Cliente ..................................................................................................................................................... 35

SRS SISINFOCOOP

7

4 Lista de Ilustraciones

Ilustración 1. Interfaces de Hardware -1 ............................................................................................................. 12

Ilustración 2. Interfases con el Hardware -2 ...................................................................................................... 13

Ilustración 3 Modelo de Dominio de SISINFOCOOP ....................................................................................... 20

Ilustración 4. Suposiciones y dependencias ....................................................................................................... 24

Ilustración 5 Clasificación de requerimientos .................................................................................................. 25

Ilustración 6 Patrón MCV ilustración tomada de http://patternmoy.com/mvc-pattern-

example/ ............................................................................................................................................................................. 33

Ilustración 7 Arquitectura MVC en Java EE ........................................................................................................ 34

Ilustración 8 Diagrama Modelo Despliegue ....................................................................................................... 34

Ilustración 9 Subcategorías de los requerimientos ........................................................................................ 36

Ilustración 10. Plano Cartesiano de la Priorización........................................................................................ 39

SRS SISINFOCOOP

8

1 Introducción

1.1 Propósito

Este artefacto tiene la intención de especificar los requerimientos de software,

mediante diferentes herramientas y procesos, para identificar y definir los

componentes del prototipo desarrollado por el estudiante de Ingeniería de Sistemas

Oscar Javier Rey, llamado SISINFOCOOP (Ver Sección 3. Descripción de

requerimientos) Las características que posea el producto serán las encargadas de

medir y controlar su alcance. Al ser un proyecto académico para obtener el Título de

Ingeniero de Sistemas, el artefacto está dirigido a los clientes Maria Consuelo Frankly

de Toro y la Cooperativa “Coocredimar”, brindando una visión del alcance del

producto, (Ver Sección 1.2. Alcance).

1.2 Alcance

El alcance definido por el estudiante, para el prototipo SISINFOCOOP, se basa en la

priorización de requerimientos (Ver sección 3: Priorización). Las siguientes son las

funcionalidades implementadas en el prototipo:

El desarrollo del prototipo esta compuesto por módulos, los cuales tiene asociados los

requerimientos que se ha obtenido (Ver. Tabla de Requerimientos.), estos módulos

que se han definido son:

Módulo de Seguridad: Este módulo ofrecerá al administrador del sistema,

administrar los distintos roles y asignar a los usuarios el rol o roles

autorizados, para que se valide ante el sistema, y tenga acceso a los módulos y

acciones según el rol.

Módulo de Administración: Modulo para el manejo de asesores comerciales,

proveedores, pagadurías, personas y empleados.

Módulo de Asociados: Modulo que permitirá la administración de asociados y

sus vinculaciones a las pagadurías.

Módulo de Crédito: Modulo que permitirá la administración de los créditos de

la cooperativa.

Módulo de Transacciones: Modulo que permitirá realizar las distintas

transacciones sobre los créditos y aportes de la cooperativa.

Modulo Reportes: Modulo que ofrecerá obtener los distintos reportes que

según los requerimientos definidos previamente.

1.3 Definiciones, Acrónimos, y Abreviaciones

A continuación se describe los acrónimos, definiciones y abreviaciones que se

encuentran dentro de este artefacto.

SRS SISINFOCOOP

9

RFC Request For Comments

SDD Software Design Description

SRS Software Requirement Specification

TCP Transmission Control Protocol

TCP/IP Transmission Control Protocol – Internet Protocol

GB Giga Bytes

Producto o Prototipo

Nombre asignado al prototipo con cierto tipo de funcionalidades implementadas.

Proyecto Asignado para desarrollar en el periodo semestral 2015 – 3 para la materia Trabajo de Grado.

Diagrama de navegabilidad

Diagrama donde se muestran las funcionalidades del producto.

Drivers Controlador de dispositivo para equipos con sistema operativo Windows, es un programa cuya finalidad es relacionar el sistema operativo con los dispositivos hardware.

SPMP Software Project Management Plan.

Tabla 2. Definiciones, acrónimos y abreviaciones

SRS SISINFOCOOP

10

1.4 Referencias

1.5 Apreciación Global

Este artefacto estará distribuido en dos partes: La primera parte (Ver Sección 2.

Descripción Global) tratará de la descripción global del prototipo SISINFOCOOP!, la

cual brinda una descripción de todo el sistema y de los factores generales que afectan

el producto. La segunda parte (Ver Sección 3. Descripción de

requerimientos)contendrá la especificación de los requerimientos del producto, la

cual le brindará al gerente la posibilidad de conocer el avance, tanto del proyecto

como del producto.

Este artefacto se encuentra organizado de la siguiente manera:

DESCRIPCIÓN GLOBAL DEL PRODUCTO

o Perspectiva del Producto:

Interfaces con el sistema.

Interfaces con el usuario.

Interfaces con el Hardware y Comunicación.

Interfaces con el Software.

Restricciones de Memoria.

Operaciones.

Requerimientos de Adaptación del Sitio.

o Funciones del Producto.

o Características del Usuario.

o Restricciones .

o Modelo del Dominio.

o Suposiciones y Dependencia.

o Distribución de Requerimientos.

DESCRIPCIÓN DE REQUERIMIENTOS.

o Especificaciones de Requerimientos

Requerimientos Funcionales

Requerimientos No Funcionales

o Priorización

o Trazabilidad

o Pruebas

SRS SISINFOCOOP

11

2 Descripción Global

2.1 Perspectiva del Producto

El prototipo SISINFOCOOP, es un producto totalmente nuevo con un origen netamente

académico. El estudiante Oscar Javier Rey, incursiona en el campo del desarrollo de

aplicaciones JAVA EE7, basándose en los diversos temas aprendidos en las distintas

materias de la carrera de Ingeniería de Sistemas, los cuales son aplicados para la

definición, el seguimiento y el desarrollo del producto ya mencionado.

Para los usuarios finales, el beneficio que les traerá el producto es poder confrontar el

resultado final, con el progreso que tuvo el estudiante en el periodo de 2015-3 y poder

analizar la coherencia que tuvo con la planeación inicial del proyecto, y si el producto

cumplió con la calidad esperada.

2.1.1 Interfaces con el sistema

El prototipo desarrollado por el estudiante, es un sistema nuevo, por lo cual no posee

dependencias con otros sistemas.

SRS SISINFOCOOP

12

TECLADO

Interfaz usada que permite al usuario:

● Ingresar datos de registro o de ingreso al sistema.

● Realizar todas las operaciones de digitacion.

ESPECIFICACIONES: Los teclados de la cooperativa son:

SPARE 435382-161 ASSY 434821-161 Modelo KU - 0316 Power Rating 5V = 50 mA

Puerto: USB

MOUSE

Interfaz usada que permite al jugador:

● Hacer click sobre los distintos iconos o links de la aplicacion.

Los mouse de la cooperativa son:

Recepcion Compu. 1 - 4

marca HP HP

SPARE 390938-001 537749-001

ASSY 265986-003 590509-002

Puerto USB USB

2.1.2 Interfaces con el usuario

Las interfaces presentes son las que permiten la interacción entre el producto y el

usuario.

Ilustración 1. Interfaces de Hardware -1

SRS SISINFOCOOP

13

INTERFAZ GUI Interfaz usada que permite al usuario:

● Interactuar directamente con el protopito: Navegar por

los distintos menús. ● Comprender los textos, el idioma es en español.

MONITOR

Interfaz usada que permite al usuario:

● Observar las distintas GUIs que presenta el prototipo(a través de la interfaz gráfica) .

● La pantalla debe soportar una resolucion minima de 800*600.

Recepcion Compu. 1 - 4 Marca DELL DELL Monitor DELL LA2006x S1933

Ilustración 2. Interfases con el Hardware -2

SRS SISINFOCOOP

14

2.1.3 Interfaces de Hardware y Comunicación

El producto SISINFOCOOP posee interacción con componentes de hardware, tales

como los equipos de la Cooperativa [1]. Algunas de las características de estos equipos

son:

Intel core I3 de 2.10Ghz

4Gb de memoria RAM

Discos duros de 500 GB

Sistemas operativos (Windows 8, Linux Centos).

Es necesario disponer del protocolo TCP/IP orientado a conexión, entre la

aplicación y el servidor central que proveerá el flujo constante de datos. Las

aplicaciones indispensables, tanto el cliente como el servidor, harán uso del

puerto destinado por el entorno de programación y de acuerdo al protocolo

especificado

Cable UTP Nivel 5E, permite una buena velocidad de transferencia y una

transmisión confiable.

Navegador Web: para ingresar al prototipo se debe realizar a través de

navegadores web como Mozilla, Chrome y Explorer entre otros.

2.1.4 Interfaces con el Software

Las interfaces de software son importantes pues describen otros productos de

software que son necesarios para el correcto funcionamiento del prototipo

SISINFOCOOP. A continuación se describen dichas interfaces:

Producto de

software

Linux Centos Wildfly Postgresql DB

Descripción Es un sistema operativo

de código abierto, basado

en la distribución Red

Hat Enterprise Linux,

operándose de manera

similar, y cuyo objetivo

es ofrecer al usuario un

software de "clase

empresarial" gratuito. Se

define como robusto,

estable y fácil de instalar

y utilizar.

Servidor de

aplicaciones

que adquirió

RedHat de la

comunidad

JBoss pero al

contrario que

Oracle y

Weblogic con

licencia libre

de software

libre.

Es un Sistema de

gestión de bases de

datos relacional

orientado a objetos y

libre, publicado bajo la

licencia PosgreSQL ,

similar a la BSD o la

MIT.

SRS SISINFOCOOP

15

Propósito de uso

Entorno que permitirá la ejecución del prototipo.

Para desplegar el prototipo.

Se encarga de proporcionar la base de datos del prototipo

Versión Linux Centos 7. 8.1.0 9.3

Fuente centos.org [2] wildfly.org [3] Postgresql [4]

Tabla 3. Interfaces de software

2.1.5 Restricciones de Memoria

De acuerdo a los requerimientos del prototipo se deben tener en cuenta ciertas

restricciones que tiene el producto para su correcto funcionamiento, las cuales son:

Servidor Cliente

Procesador Intel core

I3 de 2.10Ghz

4Gb de memoria RAM

Disco duro de 500 GB

Sistemas operativo

(Linux centos 7).

Procesador de 2,33 GHz o Intel Atom de 1,6 GHz o superior

RAM: 1 GB – 32 bits o 2 GB – 64 bits

Espacio en disco duro: 16 GB – 32 bits o 20

GB – 64 bits

Tarjeta de Red 10/100

Windows Vista

Windows 8

Tabla 4. Restricciones de memoria

2.1.6 Operaciones

El producto SISINFOCOOP, posee modos de operación de acuerdo al rol asignado a los

usuarios al momento de escribir este documento se cuenta con los siguientes roles:

Administrador

Empleado

Asesor Comercial

Asociado

SRS SISINFOCOOP

16

El Usuario interactúa con el prototipo a través del teclado y el mouse y observa los resultados en la pantalla. Sobre las funcionalidades de cada rol ver los diagramas de caso de uso. (Ver documento CasosdeUso.docx).

2.1.6.1 Fallos conexión.

Inicio de sesión: No se podrá entrar al sistema si no hay conexión a internet para acceso externo o si no hay red para el acceso interno.

2.1.7 Requerimientos de Adaptación del Sitio

Para que el prototipo SISINFOCOOP tenga una correcta ejecución en los computadores

de la Cooperativa, se debe cumplir con lo siguiente:

Debe tener instalado un navegador web.

Debe tener conexión a la red.

La pantalla debe soportar una resolución mínima de 800 * 600 pixeles.

Sistema Operativo Windows 7 o superior.

Sistema Operativo Linux con navegador web.

2.2 Funciones del Producto

Como un sistema de información para el manejo de asociados, aportes y créditos, las

funcionalidades del producto SISINFOCOOP, están debidamente relacionadas con los

requerimientos que previamente se han levantado, el desarrollo de los casos de uso

con la respectiva iteración con los actores, para cada tipo de rol (ver sección

Operaciones 2.1.6) el sistema según el rol asociado al usuario permitirá la ejecución

de algunas tareas.

Un resumen de las principales funcionalidades independientemente del rol son:

Mostrar la pantalla principal para hacer inicio de sesión e ingresar al sistema

Permitir al usuario cambiar la clave de ingreso al sistema.

Permitir al Usuario hacer búsqueda de asociados, créditos y aportes.

Permitir al Usuario buscar créditos asociados a una pagaduría, proveedor o

asesor comercial.

Ofrecer al Usuario crear nuevos asociados, empleados, proveedores,

pagadurías y créditos.

SRS SISINFOCOOP

17

2.3 Características del Usuario

Los stakeholders se encuentran definidos en el documento de Casos de uso (Ver

documento CasosdeUso.docx), a continuación se muestran las características de los

usuarios que usan la aplicación, teniendo en cuenta que los stakeholders vinculados al

producto SISINFOCOOP, son un sistema y un usuario.

Stakeholder Uso Experiencia

técnica

Privilegios

Usuario

(Empleado,

Asociado,

Asesor

Comercial)

Interacción con la

Aplicación

Conocimiento

básico en manejo

de programas de

computador

Podrá interactuar

con la aplicación de

forma superficial, no

podrá modificar

nada de la lógica del

prototipo.

Administrador

Administrar la

información de los

usuarios.

No Aplica. Permite modificar,

eliminar, crear datos

sin la necesidad de

conectar con la

aplicación de manera

directa.

Desarrollador Interacción con la

implementación

No Aplica. Puede modificar la

lógica y la

presentación del

prototipo

Tabla 5 Características del Usuario

2.4 Restricciones

Las restricciones presentes se dividen en 2 categorías:

SRS SISINFOCOOP

18

2.4.1 Restricciones del Proyecto:

Son las restricciones que fueron definidas al inicio del proyecto, tanto por los clientes

como por el estudiante Oscar Javier Rey. (Ver SPMP. Sección 6.3. Supuestos y

restricciones).

2.4.2 Restricciones del Producto:

Estas restricciones se definieron teniendo en cuenta las características de hardware y

software necesarias para el funcionamiento del producto SISINFOCOOP.

Restricciones Generales:

Restricciones de Interacción con el Usuario: Teniendo en cuenta las características del

usuario (Ver sección 2.3. Características del Usuario), se derivan ciertas restricciones

en cuanto la experiencia técnica y al idioma.

Experiencia Técnica: El usuario debe tener un conocimiento básico, del

manejo de las interfaces con las que interactuará (Ver sección 2.1.2.

Interfaces con el usuario), como el encender y apagar los dispositivos

periféricos, escribir en teclado, hacer click con el mouse, ejecutar

aplicaciones.

Idioma: La interfaz gráfica de la aplicación, el manual de usuario y el

manual de instalación, deben estar en el idioma Español (Colombia).

Restricciones de Software:

A partir de las interfaces de software (Ver sección 2.1.4. Interfaces con el software),

se derivan las siguientes restricciones:

Restricciones de memoria: Dichas restricciones describen lo que ocupa en

memoria la instalación del software requerido para el correcto

funcionamiento del prototipo SISINFOCOOP. (Ver sección 2.1.5.

Restricciones de memoria).

Restricciones del sitio: Estas restricciones, se basan en los requerimientos

de adaptación del sitio (Ver sección 2.1.7. Requerimientos de Adaptación

del Sitio) en donde el prototipo SISINFOCOOP debe funcionar de manera

adecuada.

Restricciones de Hardware:

A partir de las interfaces de hardware (Ver sección 2.1.3. Interfaces de hardware y

comunicación), se derivan restricciones como el que el prototipo SISINFOCOOP debe

poder ejecutarse en equipos de cómputo de la cooperativa [1].

SRS SISINFOCOOP

19

2.5 Modelo del Dominio

El modelo de dominio (ver Ilustración 3 Modelo de Dominio de SISINFOCOOP) se creó con

el fin de identificar los elementos de negocio y las relaciones que hay entre ellos,

otorgando al Líder de desarrollo una vista amplia de la interacción de todos los

componentes pertenecientes al prototipo SISINFOCOOP

Según Larman [5] el modelo del domino podría considerarse como un diccionario

visual de las abstracciones relevantes, vocabulario del dominio e información del

dominio. A continuación encontrara el diagrama y por otra parte la explicación de

todos los elementos del diagrama del dominio para explicar las entidades que forman

parte del prototipo.

SRS SISINFOCOOP

20

Ilustración 3 Modelo de Dominio de SISINFOCOOP

Entidad Descripción Relaciones

Persona Clase Padre, de esta heredan

asociado, codeudor,

empleado y asesor comercial.

La entidad tiene una relación

de muchas direcciones.

Usuario Entidad que contiene el

usuario y password, para

validarse ante el sistema

Un usuario puede tener

muchos roles y viceversa.

SRS SISINFOCOOP

21

UsuarioRol Entidad que agrupa un

usuario y sus respectivos

roles

Rol Entidad con los roles del

sistema

Empleado Entidad que hereda de

Persona, y es la

representación de empleado

Puede tener un usuario

Asociado Es la representación de

asociado de la cooperativa y

hereda de persona

Puede tener una solicitud de

crédito y un crédito o

créditos.

Codeudor Entidad que hereda de

persona y es la

representación de codeudor

de un crédito

Puede ser codeudor de un

crédito.

AsesorComercial Entidad que hereda de

persona, representa un

asesor comercial

Puede tener cero o más

créditos asociados.

Pagaduría Es la representación de una

pagaduría

Tiene una dirección.

Tiene cero o más créditos

asociados.

Dirección Es la representación de una

dirección

Pertenece a una Ciudad.

Ciudad Es la representación de una

ciudad de Colombia

Una ciudad pertenece a un

departamento.

Departamento Es la representación de un

departamento de Colombia

Puede tener una o más

ciudades.

Crédito Es la representación de un

crédito

Tiene asociada una

pagaduría, un proveedor y un

asesor comercial.

Puede tener una o más

transacciones.

Puede Tener memos, que son

observaciones o algún evento

SRS SISINFOCOOP

22

que ha surgido y se debe

dejar documentado.

Puede tener una solicitud de

crédito.

SolicitudCredito Es la representación de una

solicitud de crédito.

Se relaciona con asociado y

con crédito.

Referencia Es la representación de una

referencia.

Se relaciona con una

solicitud de crédito.

VinculacionAporte Es la representación de una

vinculación de un asociado a

una pagaduría.

Se relaciona con asociado y

con pagaduría.

DocumentoContable Es la representación de un

documento contable

Se relaciona con una

pagaduría.

Se relaciona con

transacciones de créditos y

de aportes.

Transacción Crédito Representa la transacción de

un crédito

Se relaciona con un crédito.

Se relaciona con un

documento contable.

Se relaciona con un tipo de

transacción.

Transaccion Aporte Representa la transacción de

aporte.

Se relaciona con una

vinculación aportes.

Se relaciona con un

documento contable.

Se relaciona con una

SRS SISINFOCOOP

23

pagaduría.

TipoTransaccion Es la representación de los

tipos de transacción.

Se relacionada con

transacción crédito y de

aporte.

2.6 Suposiciones y Dependencias

A continuación se describe una lista de suposiciones en caso de no cumplirse afectará

el funcionamiento del producto y por el lado de las dependencias se lista todos

aquellos factores de los cuales resultan necesarios para el producto SISINFOCOOP:

SRS SISINFOCOOP

24

Ilustración 4. Suposiciones y dependencias

SUPOSICIONES

El servidor de la Cooperativa esta debidamente

configurado.

La red interna de la cooperativa esta

debidamente configurada.

El cliente no hará ningún cambio de los

requerimientos.

Se elegirá un puerto que no este restringido.

DEPENDENCIAS

Buen Funcionamiento del servidor de aplicaciones.

Estabilidad de la conexión de la red.

Estabilidad del sistema operativo Linux Centos.

SRS SISINFOCOOP

25

2.7 Distribución de Requerimientos

Se ha realizado una clasificación de requerimientos, partiendo de una división inicial.

Los requerimientos funcionales, describen la funcionalidad del prototipo y los

procesos de negocio que cumple el sistema, por otra parte los no funcionales se

utilizaron para definir las restricciones del producto.

La siguiente ilustración muestra el agrupamiento por subcategorías tanto de los

requerimientos funcionales como de los no funcionales. Esta clasificación permite

obtener una trazabilidad coherente de fácil lectura.

Ilustración 5 Clasificación de requerimientos

Las subcategorías para los requerimientos funcionales fueron agrupadas en 6

categorías, definidos en el diagrama de navegabilidad y de los casos de uso.

En cuanto a los requerimientos no funcionales, las subcategorías fueron tomadas en

base al documento “Gestión de los requisitos” Cristóbal González Almirón [6].

Clasificación

Funcionales

Modulo Seguridad

Modulo de Administracion

Modulo Asociados

Modulo de Credito

Modulo de Transacciones

Modulo Reportes

No funcionales

Almacenamiento

Portabilidad

Rendimiento

Calidad

Disponibilidad

Escalabilidad

SRS SISINFOCOOP

26

La especificación de esta distribución se encuentra en la sección 3 (Ver sección 3.1.

Especificación de Requerimientos).

SRS SISINFOCOOP

27

3 Descripción de requerimientos

3.1 Especificaciones

Se tiene un archivo de requerimientos (Ver Archivo Requerimientos: Tabla de

Requerimientos V.7) la cual consta de las siguientes hojas:

Portada

Contenido

Historial de cambios

Guía

R. Funcionales

R. No funcionales

Validaciones

Dashboard

Bibliografía

A continuación se hará una breve descripción de las hojas más relevantes para el

proyecto, puesto que son las que tienen relación directa con los requerimientos.

3.1.1 Requerimientos Funcionales

En esta hoja se encuentran los requerimientos funcionales del producto SISINFOCOOP.

Esta hoja posee los siguientes campos:

El ID Del Requerimiento

La Descripción, Autor Del Requerimiento

Ids De Requerimientos Asociados

Origen Del Stakeholder

El Estado

Prioridad

Índice Del Valor De Negocio

Índice De Riesgo

Verificación

Fecha De Modificación

Autor Modificación

Versión

Sección

Fecha De Implementación

Tipo De Pruebas

ID De Prueba Asociada

SRS SISINFOCOOP

28

La explicación de los campos mencionados anteriormente se encuentra en la hoja Guía

del archivo de la tabla de requerimientos. (Ver Archivo Requerimientos: Tabla de

Requerimientos).

3.1.2 Requerimientos No funcionales

En la hoja de los requerimientos no funcionales se encuentran los mismos campos que

se mencionaron en los requerimientos funcionales, sin embargo no se presentan los

campos de priorización (prioridad, índice de valor, índice de riesgo), esto se debe a

que no es necesario priorizar los no funcionales ya que son restricciones del sistema

que se deben tener en cuenta al momento de implementar el producto y depende del

requerimiento que se debe implementar se revisa el requerimiento no funcional.

Los demás campos de la tabla de requerimientos no funcionales estén definidos en la

guía de Tabla de requerimientos (Ver Archivo Requerimientos: Tabla de

requerimientos)

La explicación de las categorías del campo de subclasificación son las siguientes:

3.1.2.1 Almacenamiento

Son todos los requerimientos que tienen relación con la conexión del prototipo con la

DB de postgresql [4] para el almacenamiento de los datos.

3.1.2.2 Calidad

Son todos aquellos requerimientos asociados a la especificación y normas impuestas

para el código.

3.1.2.3 Disponibilidad

Son todos los requerimientos asociados al porcentaje de tiempo que va a estar

disponible el prototipo en el año.

3.1.2.4 Portabilidad

Todos los requerimientos asociados a las plataformas que soporta el prototipo.

3.1.2.5 Rendimiento

Son todos los requerimientos asociados a la respuesta del prototipo a los diferentes

estados.

SRS SISINFOCOOP

29

3.1.3 Validaciones

La hoja de validación (Ver Archivo: Tabla de Requerimientos), tiene como propósito

desglosar y realizar una explicación del significado de los campos de la tabla de

requerimiento que hacen uso de validaciones y por lo tanto en donde se definieron

valores específicos o rangos definidos. Por lo tanto se puede apreciar una tabla donde

se explican los posibles valores específicos que pueden obtener las columnas de las

tablas llamadas: Estado, Prioridad, Índice del Valor del Negocio, Índice de Riesgo, y

Verificación.

3.1.4 Dashboard

El propósito de la hoja de Dashboard (Ver Archivo Requerimientos: Tabla de

Requerimientos), tiene como propósito brindar información estadística de los

requerimientos realizados. Más específicamente hace un recuento de cuántos

requerimientos de cada subcategoría de las categorías funcionales y no funcionales se

realizaron y comparando estas con el total se realizó un gráfico que muestra el

porcentaje de requerimientos que hay para cada subcategoría de ambas categorías. Al

mismo tiempo, también para cada categoría, se realizó un recuento del número de

requerimientos por estado de los mismos, lo cual brinda información sobre el

progreso del producto y cuánto hace falta por implementar.

3.2 Priorización

En la tabla de requerimientos definida se encuentran tres columnas asociadas a la

priorización. Estas son:

Descripción Responsable Momento

Índice del

Valor del

Negocio

Denota la relevancia

que tiene el

requerimiento con

respecto al objetivo del

producto. Se mide en un

rango de 1 a 5; siendo 1

el menos relevante y 5

el más relevante.

Analista de

Requerimientos

Siempre que el

Analista de

Requerimientos

tenga acceso a la

tabla y encuentre

un requerimiento

nuevo aprobado.

Inmediatamente

se tiene la

disponibilidad.

Índice de Se define dependiendo Líder de Desarrollo Siempre que el

SRS SISINFOCOOP

30

Riesgo de la dificultad y el

riesgo que conlleva

implementar el

requerimiento al

momento de

desarrollarlo. Se mide

en un rango de 1 a 5;

siendo 1 el menos

relevante y 5 el más

relevante.

Líder de

Desarrollo abra la

tabla y encuentre

un requerimiento

nuevo aprobado.

Inmediatamente

se tiene la

disponibilidad.

Prioridad Define qué tan

pertinente es que se

implemente el

requerimiento. Ésta

prioridad se calcula a

partir de los datos del

Índice del Valor del

Negocio y el Índice de

Riesgos, y puede tomar

uno de los siguientes

valores: Baja, Media,

Alta, Evitar.

Analista de

Requerimientos.

Inmediatamente

se llenan las

columnas de

Índice del Valor

del Negocio y el

Índice de Riesgos.

Tabla 6. Priorizaciones

De esta manera se llenan los valores asociados a la prioridad de los requerimientos.

Sin embargo, en el proyecto se manejaron más temas sobre la metodología

implementada y el significado de los valores de priorización (Ver Sección 4.5:

Priorización de los Requerimientos), en el cual se explica el paso a paso del proceso

de priorización que se llevó acabo.

3.3 Trazabilidad

Para la trazabilidad se definió la relación entre los requerimientos, módulos y los

casos de uso, para ello se cuenta con una tabla debidamente definida, para hacer esta

relación. (Ver Archivo InventarioCasosUso.xls).

SRS SISINFOCOOP

31

Esta trazabilidad, se organizó con el modulo al que pertenece cada caso de uso y por

último se asociaron los requerimientos a cada uno de los casos de uso.

Inventario de Casos de Uso

Módulo Caso de

Uso Descripción

CU Complejidad

Requerimientos Asociados

Esfuerzo Estimado CU

(horas)

Esfuerzo Estimado

Módulo (horas)

Recursos asignados

Se podría decir que un requerimiento es trazable si se pueden identificar todas las

partes del producto existente relacionadas con ese requerimiento y con ese caso de

uso.

3.4 Pruebas

El archivo de pruebas tiene las siguientes hojas:

Portada

Historial de cambios

Guía

Funcionales

No funcionales

Validaciones

Bibliografía

La explicación de cómo se debe llenar las hojas de funcionales y no funcionales se

encuentra en la hoja Guía, en la cual se explican cada uno de los campos. (Ver Anexos:

Tabla Pruebas de código)

SRS SISINFOCOOP

32

4 Proceso Ingeniería de Requerimientos

4.1 Incremento

Para esta entrega se implementó los requerimientos según la priorización (Ver

sección 3.7. Priorización) de estos, los cuales están relacionados con la conexión a

Postgresql para el registro y el login de los usuarios.

4.1.1 Arquitectura

A continuación especificara el patrón de arquitectura [7] y el diagrama de despliegue,

que se utilizara durante el desarrollo de la aplicación.

4.1.1.1 Patrón modelo vista controlador

Estilos Ventajas Desventajas Modelo Vista Controlador

[8].

La aplicación está

implementada modularmente.

Sus vistas muestran

información actualizada

siempre.

El programador no debe

preocuparse de solicitar que las

vistas se actualicen, ya que este

proceso es realizado

automáticamente por el modelo

de la aplicación.

MVC es un patrón de diseño

orientado a objetos por lo que su

implementación es sumamente

costosa y difícil en lenguajes que

no siguen este paradigma.

MVC requiere la existencia de

una arquitectura inicial sobre la

que se deben construir clases e

interfaces para modificar y

comunicar los módulos de una

aplicación, aunque esta

desventaja ya no es problema

porque se tiene una arquitectura

de punta que es la de cliente

servidor.

Tabla 7 Modelo Vista Controlador

SRS SISINFOCOOP

33

Ilustración 6 Patrón MCV ilustración tomada de http://patternmoy.com/mvc-pattern-example/

La ilustración anterior nos indica que el patrón MCV [9] es el escogido, ya que la

aplicación está orientada a la web y es necesario manejar algún modulo vista para

todos los usuarios y facilita el llamado de los datos.

Servelets: Facilitan el tratamiento de las peticiones que llegan al servidor.

o Tratamiento de datos de formularios.

o Permite re direccionar las peticiones.

JSP: Facilitan el tratamiento de las peticiones que llegan al servidor.

o Para páginas de formato establecido.

Java Beans y Enterprise Beans: Facilitan la implementación de la lógica de

negocio.

o Independiente de la presentación de los resultados.

SRS SISINFOCOOP

34

Ilustración 7 Arquitectura MVC en Java EE

4.1.1.2 Diagrama de despliegue

“Un diagrama de despliegue muestra las relaciones físicas entre los componentes

hardware y software en un sistema” [10] . A continuación se mostrara el diagrama de

despliegue del producto SISINFOCOOP, el cual muestra la arquitectura física del

sistema, es decir en el numeral 4.2.1.1 (Ver Sección 4.2.1.1 Patrón Modelo Vista

Controlador).

Ilustración 8 Diagrama Modelo Despliegue

SRS SISINFOCOOP

35

Nodo Cliente

Nombre del

nodo

Cliente

Especificación Las especificaciones de los

equipos de Cooperativa son:

Procesador: Intel Core I3

RAM: 4Gb Disco Duro: 500Gb Sistema operativo:

Windows 7

Ubicación Centro - Bogota.

Cll 17 # 8-49 of. 409

Componentes Comentarios adicionales

Navegador Web Tabla 8 Nodo Cliente

Nodo Servidor

La aplicación que desarrolla el estudiante Oscar Rey utilizara los servicios que

provee WildFly 8.1, tanto de servidor y como de bases de datos PostgreSQL,

herramientas que se utilizan para la implementación de prototipo

SISINFOCOOP.

4.2 Origen de requerimientos

Se realizó una investigación de distintas plantillas para el manejo de los

requerimientos, buscando que dichas plantillas que se adaptaran a las necesidades del

trabajo de grado y tuvieran en cuenta los requisitos mínimos que deben existir para

un correcto manejo de los requerimientos.

Las plantillas encontradas fueron las siguientes:

Plantilla de Karl Wiggers [11]

Template de matriz de trazabilidad de requerimientos [12]

Plantilla Dharma Consulting [13]

Se analizaron todas las matrices y templates encontrados y, se decidió que la plantilla

más completa, que poseía el nivel de detalle adecuado para el proyecto era la matriz

de Dharma Consulting.

Los responsables de llenar dicha plantilla son (Líder de desarrollo, arquitecto y

analista de requerimientos).Cabe resaltar que el estudiante Oscar Rey, será el

SRS SISINFOCOOP

36

mismo que ocupara todos esos roles, por esta misma razón, fue quien decidió las

categorías y subcategorías se usaron en la tabla de requerimientos.

4.2.1 Especificación de categorías

Se optó por hacer la división de los requerimientos en seis categorías: funcionales [14]

y no funcionales [15]. Esta escogencia es debido a que, los requerimientos

funcionales definen las características con los que el sistema deberá contar. Al mismo

tiempo, como el sistema debe actuar ante diferentes circunstancias, los

requerimientos no funcionales definen restricciones adicionales con las que el

sistema deberá contar e indica las limitaciones, prohibiciones y propiedades

emergentes del sistema.

4.2.2 Especificación de las subcategorías

Para las subcategorías de los requerimientos funcionales, las puede encontrar (Ver

sección 2.7 Distribución de los requerimientos).

Ilustración 9 Subcategorías de los requerimientos

A continuación se describirá cada una de las subcategorías definidas.

4.2.2.1 Administración de Roles

Subcategoría, para la administración de roles que la Cooperativa crea conveniente,

cualquier modificación a la entidad roles, debe ser realizada por personal con

conocimiento en Java EE, puesto que deberá realizar las modificaciones en el código

también.

Mo

du

lo d

e S

eg

uri

da

d

• Administracion de Roles.

• Administracion de Usuarios.

• Asignacion de roles a usuarios.

Mo

du

lo d

e A

dm

inis

tra

cio

n

• Administracion de Personas.

• Administracion de Asesores Comerciales.

• Administracion de Proveedores.

• Administracion de Pagadurias.

Mo

du

lo d

e A

soci

ad

os • Administr

acion de Asociados.

• Administracion de Vinculaciones. M

od

ulo

de

Cre

dit

o

• Administracion de Creditos.

• Administracion Solicitud Credito

Mo

du

lo d

e T

ran

sacc

ion

es • Administr

acion Transacciones Credito

• Administracion Transacciones Aportes

• Administracion Documento Contable.

Mo

du

lo d

e R

ep

ort

es • Reportes

Creditos • Reportes

Aportes • Reportes

Pagaduria

• Reportes Proveedor

• Reporte Asesor Comercial

SRS SISINFOCOOP

37

4.2.2.2 Administración de Usuarios

Subcategoría, con el propósito de autorizar, actualizar, desactivar e incluir nuevos

usuarios que tendrán acceso al sistema.

4.2.2.3 Asignación de Roles a Usuarios

Subcategoría, donde se podrá asignar rol o roles a un usuario, que dependiendo del rol

tendrá opciones habilitadas o deshabilitadas en el sistema.

4.2.2.4 Administración de Personas

Esta subcategoría, permite realizar el respectivo CRUD de la entidad persona, también

es la clase padre de la cual hereda Asociado, Empleado, Codeudor, y Asesor Comercial.

4.2.2.5 Administración Asesores Comerciales

Subcategoría para asignar a una persona como asesor comercial de la cooperativa.

4.2.2.6 Administración Proveedores

Subcategoría para realizar las operaciones de CRUD sobre la entidad proveedor de la

cooperativa para luego asignar un proveedor a un crédito.

4.2.2.7 Administración Pagadurías

Subcategoría, para realizar las operaciones de CRUD sobre la entidad pagaduría que

luego va hacer asociada a un crédito.

4.2.2.8 Administración de Asociados

Subcategoría, para asignar los asociados de la Cooperativa, previamente el asociado debe

estar registrado como persona y luego pasa a la Categoría de asociado.

4.2.2.9 Administración de Vinculaciones

Subcategoría, donde a un asociado se le relaciona con una pagaduría y queda vinculado, puede

tener varias vinculaciones.

4.2.2.10 Administración de Créditos

Subcategoría para realizar las operaciones de CRUD sobre la entidad crédito.

4.2.2.11 Administración Solicitud Crédito

Subcategoría, para realizar las operaciones de CRUD sobre la entidad solicitud crédito.

4.2.2.12 Administración Transacciones de Crédito

Subcategoría, para realizar las operaciones de CRUD sobre la entidad transacciones crédito,

consiste en realizar abonos, devoluciones, descontar intereses no causados sobre algún

crédito.

SRS SISINFOCOOP

38

4.2.2.13 Administración Transacciones Aportes

Subcategoría, para realizar las operaciones de CRUD sobre la entidad transacción aportes,

consiste en realizar los abonos de aportes que los clientes hacen en la Cooperativa y también

la devolución de estos mismos.

4.2.2.14 Administración Documento Contable

Subcategoría, para realizar las operaciones de CRUD sobre la entidad documento contable,

para realizar cualquier tipo de transacción es indispensable asociar un documento contable.

4.2.2.15 Reportes Créditos

Subcategoría, para gestionar un reporte de créditos en un rango de fechas.

4.2.2.16 Reportes Aportes

Subcategoría, para la gestión de los aportes que tiene la cooperativa por cada uno de los

asociados.

4.2.2.17 Reportes Pagaduría

Subcategoría, para la gestión de los créditos asociados a una pagaduría.

4.2.2.18 Reportes Proveedor

Subcategoría, para la gestión de los créditos asociados a un proveedor.

4.2.2.19 Reporte Asesor Comercial

Subcategoría, para la gestión de créditos asociados a un Asesor comercial.

4.3 Priorización de los Requerimientos

4.3.1 Proceso de Priorización

Para realizar la priorización de los Requerimientos se utilizó el método que consiste

en definir dos variables, Índice del Valor de Negocio, e índice de Riesgo, en un rango

numérico propuesto de 1 a 5, los cuales se genera un punto en un plano cartesiano, el

cual se divide en cuatro cuadrantes (Ilustración 10. Plano Cartesiano de la

Priorización). Por lo tanto, dependiendo de qué cuadrante está ubicado el punto, esta

será la prioridad que se le asignará al requerimiento asociado a ese punto. A

continuación se detalla más las características del método.

Índice del Valor del Negocio: Denota la relevancia que tiene el requerimiento

con respecto al objetivo del producto. Se mide en un rango de 1 a 5; Siendo 1 el

menos relevante y 5 el más relevante.

Índice de Riesgo: Se define dependiendo de la dificultad y el riesgo que

conlleva implementar el requerimiento al momento de desarrollarlo. Se mide

en un rango de 1 a 5; Siendo 1 el menos relevante y 5 el más relevante.

SRS SISINFOCOOP

39

Por lo tanto el grado de prioridad otorgado a un requerimiento se deriva haciendo uso

de la gráfica que se muestra a continuación [Ilustración 14] en donde se toman los

valores de "Índice del Valor de Negocio" como el valor en el eje X, y el "Índice de

Riesgo" en el eje Y, obteniendo un punto en el mapa cartesiano que lo representa. A

partir de la posición en el que éste punto se encuentre se le asignará la prioridad

correspondiente.

Ilustración 10. Plano Cartesiano de la Priorización

Como se puede apreciar, se definen cuatro grados de prioridad: Baja, Media, Alta y

Evitar:

Evitar si es posible: Agregan poco valor a el producto y al mismo tiempo tiene un riesgo asociado alto

Alta: Le agregan un gran valor al producto y al mismo tiempo significan un riesgo alto al implementarlos

Baja: Tienen un valor de negocio y un riesgo bajo, por lo tanto no es tan pertinente implementarlos lo antes

posible. Media: Valor de negocio alto pero un riesgo de

implementación bajo.

Ahora bien, a partir de la experiencia adquirida realizando la priorización de los casos

de uso implementando este método, se puede resumir con las siguientes reglas una

SRS SISINFOCOOP

40

fórmula para adquirir esta prioridad sin necesidad de trazar los puntos en un plano

cartesiano:

Si el Índice del Valor es menor a 3 y el Índice de Riesgo es

mayor a 2 la prioridad es Evitar.

Si el Índice del Valor es menor a 3 y el Índice de Riesgo es

menor a 3 la prioridad es Baja.

Si el Índice del Valor es mayor a 2 y el Índice de Riesgo es

menor a 3 la prioridad es Media.

Si el Índice del Valor es mayor a 2 y el Índice de Riesgo es

mayor a 2 la prioridad es Alta.

4.4 Trazabilidad de los Requerimientos

La trazabilidad entre los requerimientos y los casos de uso nos ayuda a detectar el

origen del requerimiento y el estado del prototipo al que pertenece. (Ver Archivo:

InventarioCasosUso.xls).

Para realizar la trazabilidad el Líder de desarrollo se encargó de llenar la tabla de

requerimientos contra los casos de uso, en la cual se miraba requerimiento por

requerimiento, a que caso de uso pertenece y se realizaba la conexión en la tabla y de

esa forma se verifica que los requerimientos estén adecuadamente correctos.

4.5 Verificación Para realizar la pruebas se utilizó la tabla de pruebas (Ver anexo: Tabla de pruebas), las cuales

fueron realizadas por el líder de desarrollo. Y se dividieron en dos tipos de pruebas:

Unitarias

Integración

Para las pruebas unitarias se miró requerimiento por requerimiento y se probó si cumplía con

lo solicitado un vez comprobados los requerimientos se agruparon por categorías y se

comprobaron la funcionalidad entre estos requerimientos.

SRS SISINFOCOOP

41

5 Anexos

Todos los anexos se encuentran en la carpeta de Anexos. (Ver Carpeta Anexos)