Universidad Mayor de San Andrés Facultad de Ciencias Puras Y Naturales Carrera de Informática
Universidad Mayor de San Andrés Facultad de Ciencias Puras Y Naturales Carrera de Informática
CARRERA DE INFORMÁTICA
PROYECTO DE GRADO
LA PAZ – BOLIVIA
2016
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE CIENCIAS PURAS Y NATURALES
CARRERA DE INFORMÁTICA
LICENCIA DE USO
Darle gracias a mis papas Juan Miranda y Santusa Ari por el apoyo incondicional, por
el cariño, la paciencia, por los valores que me han inculcado, por haberme dado la
oportunidad de estudiar pero sobre todo por ser unos padres maravillosos.
A Marvin Furuya Velarde por haberme tenido paciencia en todo momento, por
motivarme a seguir adelante, por su ayuda incondicional y por ser una parte
importante en mi vida.
Agradecer a mi asesora Lic. Celia Tarquino, por su apoyo, sus consejos, por
compartir su conocimiento y por ser una profesional ejemplo a seguir.
También agradecer a la Universidad Mayor de San Andrés por cobijarme en sus aulas
en todo el largo de mi carrera.
RESUMÉN
Por otra parte si el Gerente de la Empresa quisiera obtener información de los tipos de
productos, productos y stock de productos que se le distribuye a un determinado
cliente el proceso para obtener esta información demoraría y no es fácil de obtener en
ese mismo instante.
Así mismo el sistema web y aplicación móvil ayudara de alguna forma, a tener una
idea de la cantidad de pedidos que realizan sus clientes, esto con el fin de dar
prioridad al momento de realizar su cronograma de entrega de pedidos, además de
mantener actualizado los stocks de sus productos y obtener reportes con información
actualizada.
RESPONSABILIDAD DEL AUTOR
CAPITULO II
MARCO TEÓRICO
2.1 INTRODUCCIÓN ................................................................................................ 11
2.2 INGENIERÍA DE SOFTWARE ........................................................................ 11
2.3 METODOLOGÍA SCRUM ................................................................................ 12
2.3.1 MARCO DE TRABAJO ..................................................................................... 13
2.3.2 EQUIPO DE TRABAJO ..................................................................................... 13
2.3.3 TEORÍA DE SCRUM ......................................................................................... 16
2.3.4 EVENTOS DEL SCRUM ................................................................................... 17
2.3.5 ELEMENTOS DEL SCRUM ............................................................................. 17
2.3.6 FASES DEL SCRUM.......................................................................................... 18
2.4 METODOLOGIA DE DESARROLLO MOBILE-D ..................................... 20
2.4.1 INTRODUCCIÓN AL MODELO ...................................................................... 20
2.4.2 FASES DE LA METODOLOGIA...................................................................... 20
2.5 UML WEB ENGINEERING (UWE)................................................................. 28
2.5.1 INTRODUCCION ............................................................................................... 28
2.5.2 ANÁLISIS DE REQUISITO .............................................................................. 29
2.5.3 MODELO DE CONTENIDO ............................................................................. 30
2.5.4 MODELO DE NAVEGACIÓN .......................................................................... 31
2.5.5 MODELO DE PRESENTACIÓN ...................................................................... 32
i
2.5.6 MODELO DE PROCESO ................................................................................... 33
2.6 HERRAMIENTAS DE DESARROLLO .......................................................... 34
2.6.1 JAVA .................................................................................................................... 34
2.6.2 GENEXUS ........................................................................................................... 36
2.6.3 SQL SERVER 2012............................................................................................. 39
2.7 CALIDAD DEL PRODUCTO ............................................................................ 40
2.7.1 CARACTERÍSTICAS DE CALIDAD INTERNA Y EXTERNA ................... 40
2.7.2 METODOLOGÍA WEBQEM (MÉTODO DE EVALUACIÓN DE CALIDAD
DE LA WEB) ................................................................................................................... 47
2.8 SEGURIDAD ........................................................................................................ 51
2.8.1 OWASP ................................................................................................................ 51
CAPITULO III
MARCO APLICATIVO
3.1 ANÁLISIS DE LA METODOLOGÍA DE DESARROLLO .......................... 58
3.1.1 EXPLORACIÓN ................................................................................................. 58
3.1.2 PLANIFICACIÓN .............................................................................................. 58
3.1.3 EJECUCIÓN ........................................................................................................ 59
3.1.4 RETROALIMENTACIÓN ................................................................................. 59
3.2 SITUACIÓN ACTUAL DE LA INSTITUCIÓN ............................................. 60
3.3 REQUERIMIENTOS MÍNIMOS DE HARDWARE Y SOFTWARE......... 60
3.3.1 HARDWARE ...................................................................................................... 60
3.3.2 SOFTWARE ........................................................................................................ 61
3.4 ARQUITECTURA ............................................................................................... 62
3.5 IMPLEMENTACIÓN DE LA METODOLOGÍA DE DESARROLLO ...... 62
3.5.1 EXPLORACIÓN ................................................................................................. 62
3.5.2 PLANIFICACIÓN .............................................................................................. 64
3.5.3 EJECUCIÓN ........................................................................................................ 69
CAPITULO IV
CONTROL DE CALIDAD
4.1 INTRODUCCIÓN .............................................................................................. 101
4.1.1 DEFINICIÓN DE LAS METAS DE EVALUACIÓN Y SELECCIÓN DE
PERFIL DE USUARIO ................................................................................................ 101
4.1.2 DEFINICIÓN DE LOS REQUERIMIENTOS DE CALIDAD ...................... 102
4.1.3 DEFINICIÓN DE CRITERIOS DE PREFERENCIA ELEMENTALES Y
PROCEDIMIENTOS DE MEDICIÓN ........................................................................ 112
4.1.4 DEFINICIÓN DE ESTRUCTURAS DE AGREGACIÓN Y EVALUACIÓN
GLOBAL ....................................................................................................................... 113
4.1.5 ANÁLISIS DE RESULTADOS Y RECOMENDACIONES ......................... 113
CAPITULO V
SEGURIDAD
5.1 INTRODUCCIÓN .............................................................................................. 114
ii
5.1.1 INYECCIÓN...................................................................................................... 114
5.1.2 PÉRDIDA DE AUTENTICACIÓN Y GESTIÓN DE SESIONES ................ 115
5.1.3 REFERENCIA DIRECTA INSEGURA A OBJETOS.................................... 115
5.1.4 AUSENCIA DE CONTROL DE ACCESO A FUNCIONES ......................... 115
5.1.5 UTILIZACIÓN DE COMPONENTES CON VULNERABILIDADES
CONOCIDAS ................................................................................................................ 116
CAPITULO VI
ANÁLISIS COSTO BENEFICIO
6.1 INTRODUCCIÓN .............................................................................................. 117
6.2 MODOS DE DESARROLLO ........................................................................... 117
6.2.1 MODO ORGÁNICO ......................................................................................... 117
6.2.2 MODO SEMIACOPLADO .............................................................................. 118
6.2.3 MODO EMPOTRADO ..................................................................................... 119
6.3 MODELO BÁSICO............................................................................................ 120
6.3.1 COSTO DE DESARROLLO ............................................................................ 122
6.4 VALOR ACTUAL NETO (VAN)..................................................................... 122
6.5 TASA INTERNA DE RETORNO (TIR) ......................................................... 124
CAPITULO VII
CONCLUSIONES Y RECOMENDACIONES
7.1 CONCLUSIONES .............................................................................................. 126
7.2 RECOMENDACIONES.................................................................................... 126
iii
ÍNDICE DE FIGURAS
iv
Figura 3.12: Pantalla de listado de unidad de medida 75
Figura 3.13: Pantalla de ABM de unidad de medida 75
Figura 3.14: Pantalla de listado de tipo de producto 76
Figura 3.15: Pantalla de ABM de tipo de producto 76
Figura 3.16: Pantalla de ABM de producto 76
Figura 3.17: Pantalla de Registro de plantilla 77
Figura 3.18: Diagrama Casos de Uso que representa la generación de
Pedido 78
Figura 3.19: Diagrama de clases para la generación de pedido 79
Figura 3.20: Diagrama de procesos para la generación de pedido 80
Figura 3.21: Diagrama de navegación, pantallas de generación de pedidos 81
Figura 3.22: Pantalla de Registro de pedido manual 81
Figura 3.23: Pantalla de Control de Pedidos 82
Figura 3.24: Pantalla de Aprobación de Pedido 82
Figura 3.25: Diagrama Casos de Uso, recepción de pedido 83
Figura 3.26: Diagrama Casos de Uso, registro de entrega de pedido 84
Figura 3.27: Diagrama de clases, especificación de recepción y entrega de
Pedido 84
Figura 3.28: Diagrama de proceso para la recepción generación de pedido 85
Figura 3.29: Diagrama de navegación de pantallas de recepción y entrega
de pedido 86
Figura 3.30: Registro de recepción del producto 87
Figura 3.31: Diagrama Casos de Uso Proceso de Devolución 88
Figura 3.32: Diagrama de clases de la especificación devolución de
productos 89
Figura 3.33: Diagrama de procesos para la devolución de productos 89
Figura 3.34: Diagrama de navegación, pantallas de la devolución de
productos 90
Figura 3.35: Generación de la devolución de uno o más productos 91
Figura 3.36: Diagrama Casos de Uso, control de Stock y cierre diario 92
v
Figura 3.37: Diagrama de clases, especificación del control de stock y
cierre diario 94
Figura 3.38: Diagrama de navegación, pantallas de control de Stock y
cierre diario 94
Figura 3.39: Control de stock diario 95
Figura 3.40: Cierre diario 95
Figura 3.41: Diagrama Casos de Uso, reportes disponibles 97
Figura 3.42: Diagrama Casos de Uso, consultas disponibles 97
Figura 3.43: Diagrama de clases que especifican las consultas y reportes
del sistema 98
Figura 3.44: Diagrama de navegación, pantallas de consultas y reportes
del sistema 99
Figura 3.45: Consulta de productos existentes 99
Figura 3.46: Reporte formato .pdf de los productos existentes 100
Figura 5.1: Prueba de sql inyección 114
Figura 5.2: Encriptación de Url 115
vi
ÍNDICE DE TABLAS
Tabla 3.1: Actores que intervienen el Sistema 63
Tabla 3.2: Pila de Productos 66
Tabla 3.3: Planificación 66
Tabla 3.4: Sprint 1 70
Tabla 3.5: Administración de Usuarios 71
Tabla 3.6: Sprint 2 78
Tabla 3.7: Administración de Pedido 79
Tabla 3.8: Procesos de Pedido 79
Tabla 3.9: Sprint 3 83
Tabla 3.10: Sprint 4 87
Tabla 3.11: Proceso de devolución 88
Tabla 3.12: Sprint 5 92
Tabla 3.13: Administración de Productos 93
Tabla 3.14: Cierre Diario 93
Tabla 3.15: Sprint 6 96
Tabla 4.1: Entradas Externas 102
Tabla 4.2: Salidas Externas 103
Tabla 4.3: Consultas Externas 104
Tabla 4.4: Archivos lógicos internos 104
Tabla 4.5: Archivos de interfaz externos 104
Tabla 4.6: Calculo de entradas de punto de función 105
Tabla 4.7: Rangos para evaluar punto de función 105
Tabla 4.8: Factores de ajustes de valor 106
Tabla 4.9: Rangos para evaluar la usabilidad 107
Tabla 4.10: Cuestionario para la valoración de usabilidad 108
Tabla 4.11: Rangos para evaluar la eficiencia 109
Tabla 4.12: Valoración para la eficiencia 109
Tabla 4.13: Rangos para evaluar el mantenimiento 110
Tabla 4.14: Valoración para el mantenimiento 111
vii
Tabla 4.15: Rangos para evaluar la portabilidad 111
Tabla 4.16: Valoración para el mantenimiento 112
Tabla 4.17: Resultados de las características de calidad 113
Tabla 5.1: Ecuaciones del Modelo Básico de COCOMO 81 121
Tabla 5.2: Flujo de caja neto 123
viii
CAPITULO I
MARCO REFERENCIAL
1.1 INTRODUCCIÓN
Es por eso que se pretende automatizar toda la información que corresponde a los
productos que tiene la empresa Tecnoalimentos Ltda. con un sistema de información
de Automatización en el Control de la Información de Productos que tiene la
empresa, sistema que permita realizar el registro y control de pedidos, entregas y
devoluciones de productos cuya información permitirá satisfacer al cliente y así poder
tomar una buena decisión en cuanto al manejo de sus productos y además se realizará
una aplicación móvil que será usada directamente por el usuario para realizar el
pedido, la recepción de los productos y devoluciones de los mismos por algún motivo
valido, la aplicación móvil ayudara a tener una información oportuna a tiempo y
eficiente.
En este perfil se presenta una propuesta que permitirá satisfacer al cliente y así poder
tomar una buena decisión.
1.2 ANTECEDENTES
Es importante identificar que las empresas (Zumos, Ribera, Saboréate, Golden Foods)
tienen computadoras con sistema operativo Windows en el cual se encuentra
instalado un sistema llamado COIPOS.NET sistema contable que se encarga de:
2
1.2.2 ANTECEDENTES DE SISTEMAS ANTERIORES
3
adquisición de los materiales más necesitado y si se solventa los materiales existentes
en cada gestión, además de controlar el ingreso y salida del material de modo que no
se hagan compras insulsas. (Manueco, 2011)
Se definió el problema principal bajo los siguientes problemas que podemos observar
a continuación.
4
Desorganización de la empresa al momento de recibir un pedido, realizar una
entrega o almacenar una devolución, lo que ocasiona pérdida de ingresos para
la empresa.
(Ver Anexo B: Pagina 140: Árbol de Problemas)
1.4 OBJETIVOS
5
1.5 JUSTIFICACIÓN
6
1.6 LÍMITES Y ALCANCES
1.6.1 LÍMITES
1.6.2 ALCANCES
Los Alcances del Sistema Web y la Aplicación Móvil de acuerdo a los módulos con
los que cuenta son los que se describen a continuación:
7
Aplicación Móvil: Sera desarrollado para realizar un pedido, una
recepción de productos y también para registrar una devolución debido
a algún motivo valido.
1.7 METODOLOGÍA
Para realizar el perfil de proyecto de grado se utilizó arboles analíticos, marco lógico
además de aplicar el método científico como afirma (Hernández, 2006)
8
1.8 HERRAMIENTAS DE DESARROLLO DEL SISTEMA
Las herramientas para la implementación del sistema que se van a utilizar serán las
siguientes:
1.9 APORTES
Los aportes del Sistema que proveerá será la automatización de los procesos
manuales en el registro, control y obtención de información, los cuales minimizaran y
optimizaran los tiempos de ejecución los cuales ayudaran a la toma de decisiones.
9
Reportes que emitirá el Sistema con Información correcta que ayude al
gerente en la toma de decisiones.
10
CAPITULO II
MARCO TEÓRICO
2.1 INTRODUCCIÓN
11
como comunicación, análisis de los requerimientos, modelación del diseño,
construcción del programa, pruebas y apoyo.
12
recomiendan duraciones entre una y cuatro semanas, si bien pueden contemplarse
casos de hasta 60 días. (Palacio & Ruata, 2011)
El marco de trabajo SCRUM consiste en los Equipos SCRUM y en sus roles, eventos,
artefactos y reglas asociadas. Cada componente dentro del marco de trabajo sirve a un
propósito específico y es esencial para el éxito de SCRUM y para su uso.
Las reglas de SCRUM vinculan a los eventos, roles y artefactos, rigiendo las
relaciones e interacciones entre ellos. En la figura 2.2 se muestra los procesos de
Scrum de forma simplificada para su ejecución.
13
SCRUM está diseñado para optimizar la flexibilidad, la creatividad y la
productividad.
14
entender qué interacciones con el Equipo Scrum pueden ser de ayuda y cuáles no. El
Scrum Master ayuda a todos a modificar estas interacciones, para maximizar el valor
creado por el Equipo Scrum, como ser:
a) Al Dueño de Producto
Encontrar técnicas para gestionar la Pila de Producto de manera efectiva.
Comunicar claramente la visión, los objetivos y los elementos de la Pila de
Producto al Equipo de Desarrollo.
Enseñar al Equipo Scrum a crear elementos de la Pila de Producto claros y
concisos.
Entender la planificación a largo plazo del producto en un entorno empírico.
Entender y practicar la agilidad.
Facilitar los eventos de Scrum según se requiera o necesite.
b) Al Equipo de Desarrollo
Entrenar al Equipo de Desarrollo en ser auto organizado y multifuncional.
Formar y liderar al Equipo de Desarrollo en la creación de productos de alto
valor.
Eliminar impedimentos al progreso del Equipo de Desarrollo.
Facilitar los eventos de Scrum según se requiera o necesite.
Entrenar al Equipo de Desarrollo en el entorno de organizaciones en las que
Scrum aún no ha sido adoptado y entendido por completo.
c) A la organización
Liderar y entrenar a la organización en su adopción de Scrum.
Planificar implementaciones de Scrum en la organización.
Ayudar a los empleados e interesados a entender y llevar a cabo Scrum y el
desarrollo empírico de producto.
15
Causar cambios que incrementen la productividad del Equipo Scrum.
2.3.3.1 TRANSPARENCIA
Los aspectos significativos del proceso deben ser visibles para aquellos que son
responsables del resultado. La transparencia requiere que dichos aspectos sean
definidos por un estándar común, de tal modo que los observadores compartan un
entendimiento común de lo que se está viendo.
2.3.3.2 INSPECCIÓN
Los usuarios de Scrum deben inspeccionar frecuentemente los artefactos de scrum y
el progreso hacia un objetivo, para detectar variaciones. Su inspección no debe ser tan
frecuente como para que interfiera en el trabajo. Las inspecciones son más
beneficiosas cuando se realizan de forma diligente por inspectores expertos, en el
mismo lugar de trabajo.
2.3.3.3 ADAPTACIÓN
Si un inspector determina que uno o más aspectos de un proceso se desvían de límites
aceptables, y que el producto resultante no será aceptable, el proceso o el material que
está siendo procesado deben ser ajustados. Dicho ajuste debe realizarse cuanto antes
para minimizar desviaciones mayores.
16
2.3.4 EVENTOS DEL SCRUM
17
enumera todas las características, funcionalidades, requisitos, mejoras y correcciones
que constituyen cambios a ser hechos sobre el producto para entregas futuras.
2.3.5.2 INCREMENTO
Representa los requisitos qué se han completado qué se han en una iteración y qué
son perfectamente operativos. Según los resultados qué se obtengan, el cliente puede
ir haciendo los cambios necesarios y replanteando el proyecto. El Incremento es la
suma de todos los elementos de la Lista de Producto completados durante un Sprint y
el valor de los incrementos de todos los Sprints anteriores. Al final de un Sprint, el
nuevo Incremento debe estar “Terminado”, lo cual significa que está en condiciones
de ser utilizado y que cumple la Definición de “Terminado” del Equipo Scrum. El
incremento debe estar en condiciones de utilizarse sin importar si el Dueño de
Producto decide liberarlo o no.
Según la descripción que realiza (Schwaber & Beedle, 2001), Scrum se estructura en
tres fases.
2.3.6.1 PRE-GAME
Antes de empezar con el proyecto se deben especificar las tareas que se van a realizar
en las iteraciones y sus prioridades ya qué la arquitectura del Sistema en esta fase es
importante para el apoyo del contexto y necesidades del nuevo software. Las tareas
que se realizan en esta primera fase son:
18
Selección de las herramientas y de la infraestructura de desarrollo.
Cálculo o estimación del costo de cada iteración.
2.3.6.2 GAME
En esta fase el producto va evolucionando con el desarrollo de los sprints. Durante
esta fase de desarrollan las siguientes tareas:
a) PLANEACIÓN DE SPRINT
2.3.6.3 POST-GAME
Luego de haber culminado todas las iteraciones, resta la revisión final, denominado
Cierre. El cierre, es la última etapa en la que se realiza la preparación operacional,
incluyendo las pruebas y documentación final. (Schwaber & Sutherland, 2013)
19
2.4 METODOLOGIA DE DESARROLLO MOBILE-D
La metodología cuenta con 5 fases como se observa en la figura 2.3, por las cuales
pasa el producto a realizarse, la línea de producción empieza con la fase de
exploración, después pasa a la fase de Inicialización, luego pasa a la fase de producto
posteriormente a la fase de estabilización y la fase de pruebas.
20
2.4.2.1 EXPLORACIÓN
21
Plan de proyecto incluyendo línea de tiempo, el ritmo, las t erminaciones, los
recursos del proyecto, los actores y sus responsabilidades.
Descripción base del proceso que incluye la línea de base, las actividades de
seguimiento de calidad, documentación, puntos de integración el hardware a
llegar las salidas.
Plan de Medición y plan de Formación., descripción de la línea de la
arquitectura.
2.4.2.2 INICIALIZACIÓN
El propósito de esta fase es permitir el éxito de las siguientes fases del proyecto
mediante la preparación y verificación de todas las cuestiones fundamentales del
desarrollo a fin de que todos estén en plena disposición de la aplicación de los
requisitos seleccionados por el cliente. Los objetivos de esta fase son:
22
Las entradas de esta fase son:
2.4.2.3 PRODUCTO
Antes de iniciar el desarrollo de una funcionalidad debe existir una prueba que
verifique su funcionamiento, en esta fase se lleva a cabo toda la implementación de
los módulos.
23
El propósito en la fase de producción es implementar la funcionalidad requerida en el
producto mediante la aplicación del ciclo de desarrollo iterativo e incremental.
Funcionalidad Implementada.
Documento de aceptación de pruebas.
Notas de desarrollo.
Ilustraciones de Interfaz de Usuario.
24
Lista de puntos de acción.
Actualizado plan del proyecto.
Historia y tarjetas de tareas.
Conocimiento de los requisitos del sistema y pruebas de aceptación.
Lista de defectos.
Documento de requisitos iniciales.
Informe de estado diario.
La fase de producto usa los mismos roles que las anteriores fases, sin embargo, la
comunicación con el cliente se debe enfatizar con retroalimentación rápida durante la
ejecución de esta fase para lograr resultados satisfactorios. Los roles son:
2.4.2.4 ESTABILIZACIÓN
En esta fase se llega la integración para vincular los módulos separados en una única
aplicación.
25
La funcionalidad implementada del producto.
Los artefactos de desarrollo relacionado.
2.4.2.5 PRUEBAS
Se pasa al testeo hasta tener una versión estable del producto según lo establecido por
el cliente. Si es necesario se reparan errores pero no se desarrolla nada nuevo. Una
vez terminado todas las fases se debería contar con una aplicación publicable y
entregable al cliente.
26
Proporcionar información de defectos encontrados.
Planificar la solución a los defectos encontrados.
Fijar los errores hallados.
Producir un sistema libre de errores como sea posible.
La funcionalidad implementada.
Documentación de aceptación de pruebas.
Funcionalidad del usuario definida completamente.
Descripción de la interfaz de usuario que se utiliza para crear casos de
pruebas.
27
2.5 UML WEB ENGINEERING (UWE)
2.5.1 INTRODUCCION
UWE es una metodología que permite especificar de mejor manera una aplicación
Web en su proceso de creación mantiene una notación estándar basada en el uso de
UM para sus modelos y sus métodos, lo que facilita la transición.
Como se hace notar, UWE provee diferentes modelos que permite describir una
aplicación Web desde varios puntos de vista abstractos, dichos modelos están
relacionados tal como se ilustra en la figura 2.4.
Cada uno de estos modelos se representa como paquetes UML, dichos paquetes son
procesos relacionados que pueden ser refinados en iteraciones sucesivas durante el
desarrollo del UWE.
28
Figura 2.4: Modelos UWE
Fuente: [Guerrero, 2014]
El diagrama de casos de uso está conformado por los elementos actor y caso de uso.
Los actores se utilizan para modelar los usuarios de la aplicación Web que para este
caso de estudio son los diferentes tipos de usuarios (anónimo, consultor, tutor,
alumno) que pueden interactuar con el mismo.
Los casos de uso se utilizan para visualizar las diferentes funcionalidades que la
aplicación tiene que proporcionar, como son: crear a un nuevo usuario, identificar al
usuario, realizar una búsqueda, realizar la composición de un nuevo objeto y guardar
el objeto compuesto En la figura 2.5 se ilustra el diagrama de casos de usos.
29
Es de mencionar que para cada etapa del modelado, UWE provee diferentes
estereotipos. La lista de todos los estereotipos que pueden utilizarse en esta etapa se
encuentra el Perfil UWE.
Este es un diagrama UML normal de clases, por ello se debe pensar en las clases que
son necesarias para el caso de estudio presentado.
30
Figura 2.6: Modelo de Contenido
Fuente: [Guerrero, 2014]
En una aplicación para la Web es útil saber cómo están enlazadas las páginas.
Aquello significa que se requiere un diagrama de navegación con nodos y enlaces.
Este diagrama se modela con base en el análisis de los requisitos y el modelo de
contenido.
31
Las clases de navegación («navigationClass») representan nodos navegables de la
estructura de hipertexto; los enlaces de navegación («navigationLink») muestran
vínculos directos entre las clases de navegación; las rutas alternativas de navegación
son manejadas por menú («menu»).Los accesos se utilizan para llegar a múltiples
instancias de una clase de navegación («index» o « guidedTour») o para seleccionar
los elementos («query»). Las clases de procesos («processClass») forman los puntos
de entrada y salida de los procesos de negocio en este modelado y la vinculación
entre sí y a las clases de navegación se modela por enlaces de procesos
(«processLink»).
32
Figura 2.8: Página de Presentación Inicio
Fuente: [Guerrero, 2014]
Es representado por un diagrama de clases donde se describen las relaciones entre las
diferentes clases de proceso. En la Figura 2.9 podemos observar la aplicación del
modelo.
33
Siguiendo el principio de la utilización de UML se han refinado los requisitos con los
diagramas de actividad UML. Los diagramas de actividades incluyen actividades,
actores responsables de estas actividades (opcional) y elementos de flujo de control.
Ellos pueden ser enriquecidos con flujos de objetos que muestran objetos relevantes
para la entrada o salida de esas actividades. (Guerrero, 2014)
2.6.1 JAVA
34
En el diseño de Java se prestó especial atención a la seguridad. Existen varios niveles
de seguridad en Java, desde el ámbito del programador, hasta el ámbito de la
ejecución en la máquina virtual.
Todas las instancias de una clase se crean con el operador new(), de manera que un
recolector de basura se encarga de liberar la memoria ocupada por los objetos que ya
no están referenciados. La máquina virtual de Java gestiona la memoria
dinámicamente.
Una fuente común de errores en programación proviene del uso de punteros. En Java
se han eliminado los punteros, el acceso a las instancias de clase se hace a través de
referencias.
Además, el programador siempre está obligado a tratar las posibles excepciones que
se produzcan en tiempo de ejecución. Java define procedimientos para tratar estos
errores.
También cuenta con un cargador de clases, de modo que todas las clases cargadas a
través de la red tienen su propio espacio de nombres para no interferir con las clases
locales.
35
Finalmente, Java posee un gestor de seguridad con el que poder restringir el acceso a
los recursos del sistema.
A menudo se argumenta que Java es un lenguaje lento porque debe interpretar los
bytecodes a código nativo antes de poder ejecutar un método, pero gracias a la
tecnología JIT, este proceso se lleva a cabo una única vez, después el código en
código nativo se almacena de tal modo que está disponible para la siguiente vez que
se llame. (Belmonte, 2005)
2.6.2 GENEXUS
36
sobre ese conocimiento lo que, eventualmente, determina acciones. Los buscadores
de texto inteligentes que están disponibles desde hace pocos años hacen que este
conocimiento sea cada vez más accesible a los seres humanos.
Riguroso.
Representable en forma objetiva.
Operable. (Artech, 2012)
Genexus es una herramienta que parte de las “visiones de los usuarios”; captura su
conocimiento y lo sistematiza en una base de conocimiento. A partir de su base de
conocimiento, Genexus es capaz de diseñar, generar y mantener de manera totalmente
automática la estructura de la base de datos y los programas de la aplicación (los
programas necesarios para que los usuarios puedan operar con sus visiones).
Genexus trabaja con conocimiento puro, lo que le permite realizar varias cosas:
generar programas (software tradicional), entender ese conocimiento de los seres
humanos (no necesita documentación adicional –que nunca estaría actualizada), y
operar automáticamente con ese conocimiento (integrándolo con otro proveniente de
otras fuentes, difundiéndolo, otorgando licencias a terceros para que lo integren a sus
37
aplicaciones). En definitiva, Genexus hace posible el “negocio del conocimiento”,
como un paso adelante respecto al “negocio del software”.
Cuando una aplicación se desarrolla con Genexus la primera etapa consiste en hacer
el Diseño de la misma registrando las visiones de usuarios (a partir de las cuales el
sistema captura y sistematiza el conocimiento).
38
2.6.3 SQL SERVER 2012
Otra característica clave del motor de base de datos ofrece para confirmar el
almacenamiento confiable es el registro de transacciones. El registro de transacciones
que hace un registro de cada cambio que se hace a la base de datos. Otra característica
clave del motor de base de datos ofrece para confirmar el almacenamiento confiable
es el registro de transacciones. El registro de transacciones que hace un registro de
cada cambio que se hace a la base de datos.
A continuación en la Figura 2.11 que ilustra de manera general los componentes más
importantes en un sistema SQLServer.
39
Figura 2.11: Componentes de SQL Server 2012
Fuente: [2]
El estándar ISO 9126 se desarrolló con la intención de identificar los atributos clave
del software de cómputo. Este sistema identifica seis atributos clave de la calidad:
40
Figura 2.12: Características de calidad Interna y Externa
Fuente: [3]
Está norma describe 6 características:
Funcionalidad: es la capacidad del software de cumplir y proveer las funciones
para satisfacer las necesidades explícitas e implícitas cuando es utilizado en
condiciones específicas.
Confiabilidad: es la capacidad del software para asegurar un nivel de
funcionamiento adecuado cuando es utilizando en condiciones específicas, la
confiabilidad se amplía a sostener un nivel especificado de funcionamiento y no
una función requerida.
Usabilidad: es la capacidad del software de ser entendido, aprendido, y usado en
forma fácil y atractiva. La usabilidad está determinada por los usuarios finales y
los usuarios indirectos del software, dirigidos a todos los ambientes, a la
preparación del uso y el resultado obtenido.
Eficiencia: la eficiencia del software es la forma del desempeño adecuado, de
acuerdo a al número recursos utilizados según las condiciones planteadas. Se debe
tener en cuenta otros aspectos como la configuración de hardware, el sistema
operativo, entre otros.
41
Mantenimiento: es la cualidad que tiene el software para ser modificado.
Incluyendo correcciones o mejoras del software, a cambios en el entorno, y
especificaciones de requerimientos funcionales.
Portabilidad: la capacidad que tiene el software para ser trasladado de un entorno
a otro.
La propia medida de punto de función (PF) se deriva en una serie de etapas. El uso de
un conjunto estandarizado de criterios básicos, cada una de las funciones de la
empresa es un índice numérico de acuerdo a su tipo y complejidad. Estos índices se
suman para dar una medida inicial de tamaño que luego se normalizó mediante la
incorporación de una serie de factores relacionados con el software en su conjunto. El
resultado final es un número único llamado el índice de PF que mide el tamaño y la
complejidad del producto de software. (1)
42
La métrica de PF debe usarse de manera efectiva como medio para medir la
funcionalidad que entra a un sistema. Al usar datos históricos, la métrica PF se usa
para:
Estimar el costo o esfuerzo requerido para diseñar, codificar y probar el software.
Predecir el número de errores que se encontraran durante las pruebas.
Prever el número de componentes y/o de líneas fuente proyectadas en el sistema
implementado.
Los puntos de función se derivan usando una relación empírica basada en medidas
contables (directas) del dominio de información del software y en valoraciones
cualitativas de la complejidad del software. Pressman (2010) define los valores de
dominio de información de la siguiente forma:
43
Para el cálculo de PF se usa la siguiente formula:
Donde conteo total es la suma de todas las entradas PF obtenidas de la figura 2.13, se
completa los datos y un valor de complejidad asociada a cada conteo para determinar
si una entrada particular es simple, promedio o compleja.
Los (i = 1 a 14) son factores de ajuste de valor (FAV) con base en respuestas a las
siguientes preguntas:
44
10. ¿El procesamiento interno es complejo?
11. ¿El código se diseña para ser reutilizable?
12. ¿La conversión y la instalación se incluyen en el diseño?
13. ¿El sistema se diseña para instalaciones múltiples en diferentes organizaciones?
14. ¿La aplicación se diseña para facilitar el cambio y su uso por parte del usuario?
Cada una de estas preguntas se responde usando una escala que varía de 0 (no
importante o aplicable) a 5 (absolutamente esencial). Los valores constantes de la
formula y los factores ponderados que se aplican a los conteos de dominio de
información se determinan de manera empírica.
Los primeros trabajos sobre confiabilidad del software trataban de extrapolar la teoría
matemática de la confiabilidad del hardware a la predicción de la confiabilidad del
software. La mayor parte de modelos relacionados con el hardware se abocan a la
falla debida al uso, en lugar de a la que tiene su origen en los defectos de diseño. En
el hardware, las fallas debidas al uso físico (por ejemplo, los efectos de temperatura,
corrosión y golpes) son más probables que las debidas al diseño.
Desafortunadamente, con el software ocurre lo contrario. En realidad, todas las fallas
del software pueden rastrearse en problemas de diseño o de implementación.
(Pressman, 2010)
Una medida sencilla para calcular la confiabilidad es el tiempo medio entre fallas
(TMEF) qué está dado por la siguiente formula:
Dónde:
TMEF es el tiempo medio entre fallos
TMDF es el tiempo medio de fallos
TMDR es el tiempo medio de reparación
45
Muchos investigadores afirman que el TMEF es una medición más útil que otras
relacionadas con la calidad del software. En pocas palabras, a un usuario final le
preocupan las fallas, no la cuenta total de defectos. Como cada defecto contenido en
un programa no tiene la misma tasa de fallas, la cuenta total de defectos indica muy
poco acerca de la confiabilidad del sistema. Sin embargo, el TMEF puede ser
problemático por dos razones:
Una gestión total de la calidad asume qué cualquier producto contiene debilidades y
problemas. El objetivo de un test de usuario es encontrarlos antes de su lanzamiento
al mercado.
Los objetivos del test parten al entender qué se quiere saber de un determinado
producto y marcan quién debe participar en el test, qué tareas realizar, qué datos
recoger, qué equipo utilizar, qué medir, qué se considera éxito, como analizar la
información, qué hacer con la información una vez analizada y otros.
46
Los objetivos ambiguos son una forma de empezar, pero deben concretarse hasta
establecer la forma de medirlos.
47
Definición e implementación de la evaluación global.
Análisis de resultados, conclusión y documentación.
48
de evaluación, asignar métodos, agentes y recursos a las actividades, y realizar nuevas
planificaciones una vez en iniciado el proceso de evaluación.
49
agregación para modelar diferentes relaciones entre atributos y características, a
saber: relaciones de reemplazabilidad, simultaneidad, neutralidad y diferentes niveles
de polarización “y/o” (and/or). Una vez definidos y consensuados los criterios, se
debe llevar a cabo el proceso de cálculo y ranking.
50
mientras que otros pueden obtenerse automáticamente mediante herramientas
computarizados. (Alfonzo, 2012)
2.8 SEGURIDAD
2.8.1 OWASP
51
Realizar un marco de desarrollo de pruebas a partir del cual otros pudiesen crear sus
propios programas de test, o evaluar los procesos de otros. Escribir el Proyecto de
Pruebas ha demostrado ser una tarea difícil. Ha sido todo un reto conseguir un cierto
consenso y desarrollar el contenido apropiado, que permitiese a la gente aplicar el
contenido y marco de trabajo global aquí descrito, y a la vez también les permitiese
trabajar dentro de su propio entorno y cultura. También ha sido un reto el cambiar el
enfoque de la realización de pruebas sobre aplicaciones web. Ir desde las pruebas de
intrusión a las pruebas integrales en el ciclo de desarrollo del software.
Durante el ciclo de vida del desarrollo de una aplicación web, muchas cosas han de
ser probadas. El diccionario Merriam-Webster describe la acción de comprobar (en
inglés, testing) como:
52
A efectos de este documento, la comprobación o testing es un proceso de
comparación del estado de algo ante un conjunto de criterios. En la industria de la
seguridad, a menudo se realizan pruebas contra un conjunto de criterios mentales que
no están ni bien definidos ni completos. Por esa y otras razones, muchas personas
ajenas a esta industria consideran la comprobación de seguridad como un arte secreto
y arcano. El objetivo de este documento es modificar esa percepción, y hacer más
fácil a las personas sin un conocimiento en profundidad de seguridad cambiar las
cosas.
Se pretende suministrar una vista lo más amplia posible de los elementos necesarios
requeridos para realizar un programa de seguridad de aplicación web exhaustivo.
53
Figura 2.16: Modelo SDLC genérico
Fuente: [Fundación Owasp, 2008]
54
erradicar bugs de forma temprana e identificar las causas de los defectos. Del mismo
modo que probar solamente algunas de las incidencias técnicas que pueden estar
presentes en un sistema resultará en un punto de vista incompleto e incorrecto de
cómo realizar una evaluación de seguridad. (Fundación Owasp, 2008)
55
acceso. En las aplicaciones, la mayoría de las veces, existen distintos usuarios
y cada usuario tiene una serie de recursos sobre los que tiene acceso y otros
sobre los que no debería tener acceso. Un ejemplo podría ser el acceso a una
tabla de base de datos sobre la que un determinado usuario no debería tener
acceso (una tabla de gestión sobre la que sólo el administrador debería tener
acceso).
5. Configuración de seguridad incorrecta: este tipo de ataque ocurre cuando se
han realizado malas configuraciones en las aplicaciones, en los servidores de
las aplicaciones, en las bases de datos o en la configuración del propio sistema
operativo. Es importante tener todo el software bien actualizado con la última
versión disponible (esperando a que no haya vulnerabilidades de día 0) y que
todas las librerías o frameworks que use la aplicación también estén
actualizadas ya que muchos cambios que se realizan en las versiones tienen
que ver con aspectos de seguridad.
6. Exposición de datos sensibles: este tipo de ataque ocurre cuando se puede
acceder de forma fácil a datos de carácter sensible almacenados en la
aplicación. Cuando, por ejemplo, se almacenan las credenciales de los
usuarios sin codificar o si la comunicación del servidor no es segura a la hora
de realizar un pago con una tarjeta de crédito.
7. Ausencia de control de acceso a funciones: este tipo de ataque ocurre cuando
se acceden a funciones del servidor sobre las que un usuario no debería tener
permiso. Cuando, por ejemplo, el servicio de listado de usuario sólo debería
estar disponible por la aplicación pero cualquier usuario puede también
acceder a esta información.
8. Falsificación de peticiones en sitios cruzados: este tipo de ataque ocurre
cuando se realizan peticiones HTTP falsificadas del ordenador de la víctima a
una aplicación web vulnerable.
9. Utilización de componentes con vulnerabilidades conocidas: este tipo de
ataque ocurre cuando se emplean librerías o frameworks que contienen
vulnerabilidades. Es por esto que es importante actualizar estos componentes
56
o revisar el histórico de revisiones para comprobar las mejoras de seguridad
implementadas.
10. Redirecciones y reenvíos validados: este tipo de ataque ocurre cuando, al re
direccionar al usuario a otra página, no se comprueba que el destino sea
válido. Es por esto que se puede redirigir a un usuario a una página que
contenga contenido malicioso para robar las credenciales de dicho usuario.
(Fundación Owasp, 2008)
57
CAPITULO III
MARCO APLICATIVO
3.1.1 EXPLORACIÓN
3.1.2 PLANIFICACIÓN
Se define la Pila del Producto (Product Backlog) con la lista de tareas que deben
concluirse para finalizar el producto.
Definir el cronograma de actividades desde el inicio hasta la entrega final del
producto.
Visualizar los procesos y tareas que tiene cada usuario que participara en el uso
del sistema y aplicación móvil, haciendo uso de diagramas de Casos de Uso
definido en la fase de análisis de requisito de la metodología UWE.
58
Modelar el diagrama Entidad Relación de la Base de Datos, de acuerdo a los
casos de uso.
Realizar la transformación del modelo entidad relación al modelo físico.
Diseñar los diagramas de clases descrito en la fase de contenido de la metodología
UWE para apoyar el desarrollo del producto.
3.1.3 EJECUCIÓN
El desarrollo de cada uno de los sprints estará apoyado por las fases de la
metodología UWE:
Diseño de casos de uso para visualizar las diferentes funcionalidades de las tareas
del sprint.
Describir las historias de usuario, donde se especifica las actividades de los
usuarios.
Diseño de diagrama de clases para proporcionar una especificación visual de la
información.
Diseño de diagrama de navegación para identificar el enlace entre páginas.
Diseño de diagrama de procesos para describir el comportamiento de una clase de
proceso.
Diseño abstracto de la interfaz de usuario de las tareas del sprint para el modelo
de presentación.
Realizar la revisión de las tareas a través del despliegue de las capturas de
pantalla para cada una de las tareas del sprint.
3.1.4 RETROALIMENTACIÓN
59
Realizar la revisión de cada uno de los sprints, en caso de que exista tareas
incompletas se debe crear otro sprint para concluir con todas las tareas
planificadas y aplicar la fase de ejecución.
Se puede realizar nuevos requerimientos en caso de que exista y adicionar a un
nuevo sprint.
De los cuales se tiene un historial en documentos en papel acerca de los pedidos que
se han ido realizando en gestiones pasadas.
3.3.1 HARDWARE
a) Aplicación
60
Monitor VGA de 1024 x 768 de resolución.
Tarjeta de Red con puertos Ethernet.
b) Base de Datos
a) PC/Notebook/Netbook
b) Dispositivos Móviles
Tablet
Smartphone
3.3.2 SOFTWARE
61
3.3.2.2 EQUIPO USUARIO
a) PC/Notebook/Netbook
Sistema Operativo Linux (Centos) versión 6.5 mínimo con entorno Grafico.
Navegadores Chrome v.41, Firefox v.36.
b) Dispositivos Móviles
Navegador Web
3.4 ARQUITECTURA
3.5.1 EXPLORACIÓN
62
ACTOR FUNCIÓN
Desarrollador Diseño, Análisis y Desarrollo del Sistema.
de Sistemas
Ingeniero de Verifica que el Sistema cumpla con las normas de Calidad en
Control de base a los requerimientos definidos.
Calidad
Personal de Realiza la instalación en base a los requerimientos mínimos del
Instalación e Sistema.
Implementación
Administrador Administra usuarios, roles y permisos del sistema.
del Sistema
(Empresa)
Operador Registra empresa (cliente), productos, aprueba y envía pedidos a
(Empresa) los clientes, además de controlar los pedidos, entregas y
devoluciones.
Repartidor Realiza las entregas de productos bajo la plantilla registrada en
(Empresa) base al pedido realizado por el cliente.
Gerente Encargado de controlar los pedidos entregas y devoluciones de su
(Cliente) empresa, además de los stocks de productos de todas sus
sucursales.
Operador Cumple la tarea de generar plantillas, controlar los pedidos
(Sucursal) entregas y devoluciones, también el encargado de realizar los
cierres diarios de la sucursal a la cual pertenece.
Recepcionista Recepciona los productos del pedido realizado bajo plantilla,
además de registrar las devoluciones realizadas de productos en
mal estado o por fecha de vencimiento de parte del cliente.
Tabla 3.1: Actores que intervienen el Sistema
Fuente: Elaboración Propia
63
A continuación se procede a describir la lista de requerimientos generales definidos
por el dueño del producto para el desarrollo del sistema y la aplicación móvil.
3.5.2 PLANIFICACIÓN
Se procede a definir la Pila del Producto (Product Backlog) con la lista de tareas
definidas por el Product Owner en la tabla 3.2.
ID DESCRIPCIÓN
1 Diseño de logo
2 Diseño del menú de opciones
3 Diseño y autenticación de usuarios
4 Registro de permisos
5 Registro de roles
6 Registro de usuarios
64
7 Asignación de permisos a un rol
8 Asignación de roles a usuarios
9 Registro de unidades de medida
10 Registro de tipo de producto
11 Registro de producto
12 Registro de cliente
13 Registro de plantilla
14 Generación de pedido automático
15 Generación de pedido manual
16 Control de pedido por parte de la empresa
17 Control de pedido por parte del cliente
18 Revisión de stock del producto para aprobar el pedido
19 Aprobación y envió del pedido
20 Registro de entrega del pedido
21 Registro de la recepción del pedido
22 Control de entrega y recepciones por parte de la empresa
23 Control de la recepción de productos por parte del Cliente
24 Registro de devolución
25 Control de devolución por parte de la empresa
26 Control de devolución por parte del cliente
27 Control stock de productos de la empresa
28 Control stock de productos por cliente
29 Control de tipos de producto por cliente
30 Cierre diario de cada cliente (Inventario)
31 Consulta de productos existentes por cliente/sucursal
32 Consulta de pedidos por cliente/sucursal
33 Consulta de devoluciones por cliente/sucursal
34 Consulta de cartera de clientes
35 Reporte de disponibilidad de productos
65
36 Reporte de devoluciones por cliente/sucursal
37 Reporte de número de pedidos en un determinado mes y año.
38 Reporte de cartera de clientes
39 Reporte de información por producto
40 Reporte de producto(s) con más venta
Tabla 3.2: Pila de Productos
Fuente: Elaboración Propia
17/09/2016
24/09/2016
01/10/2016
08/10/2016
15/10/2016
22/10/2016
30/10/2016
05/11/2016
12/11/2016
02/08/2016
16/08/2016
20/09/2016
27/09/2016
04/10/2016
11/10/2016
18/10/2016
22/10/2016
01/11/2016
08/11/2016
Análisis y Estudio
sobre la Situación
Requerimientos
Investigación
Actual de la
Producción
Institución
Monitoreo
Actividad
Pruebas y
Puesta en
Sprint 1
Sprint 2
Sprint 3
Sprint 4
Sprint 5
Sprint 6
de
66
A continuación se muestra los procesos y tareas que tienen en común todos los
actores que participara en el uso del sistema y aplicación móvil, en las figura 3.2.
Después de haber diseñado los diagramas de casos de uso se realiza el modelo del
diagrama Entidad Relación de la Base de Datos como se observa en la figura 3.3.
67
Figura 3.3: Diagrama Entidad Relación
Fuente: Elaboración Propia
Por último se realiza la transformación del modelo entidad relación al modelo físico
como se ve en la figura 3.4.
68
Figura 3.4: Modelo Físico
Fuente: Elaboración Propia
3.5.3 EJECUCIÓN
3.5.3.1 SPRINT 1
69
En la tabla 3.4 se muestra la pila de procesos que se desarrolla para el registro de los
parámetros.
70
Figura 3.5: Diagrama casos de uso del registro de parámetros
Fuente: Elaboración Propia
A partir del diagrama de casos de uso de la figura: 3.5 que representa el registro de
parámetros tenemos la siguiente historia de usuario.
71
En la figura 3.6 se observa el diagrama de clases para especificar las tareas del primer
sprint.
72
Figura 3.7: Diagrama de navegación, especificación de parámetros del sistema
Fuente: Elaboración Propia
Según la revisión de las tareas del primer Sprint se obtuvo los siguientes resultados,
de las tareas definidas en el Sprint 1 que se observan en las figuras: 3.8, 3.9, 3.10,
3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17.
73
Figura 3.9: Diseño del menú de opciones
Fuente: Elaboración Propia
74
Figura 3.12: Pantalla de listado de unidad de medida
Fuente: Elaboración Propia
75
Figura 3.14: Pantalla de listado de tipo de producto
Fuente: Elaboración Propia
76
Figura 3.17: Pantalla de Registro de plantilla
Fuente: Elaboración Propia
3.5.3.2 SPRINT 2
77
17 Control de pedido por parte Media 5 Concluido
del cliente
18 Revisión de stock del Media 5 Concluida
producto para aprobar el
pedido
19 Aprobación y envió del Media 8 Concluida
pedido
Tabla 3.6: Sprint 2
Fuente: Elaboración Propia
A partir de los casos de uso de la figura: 3.18 tenemos las siguientes historias de
usuario ver tabla: 3.7 y 3.8.
78
Baja de un Pedido, por entrega a destiempo.
En la figura 3.19 se observa el diagrama de clases para especificar las tareas del sprint
2.
79
En la figura 3.20 se observa de diagrama de procesos para identificar el
comportamiento del proceso de generación de pedido identificados en el sprint 2.
80
Figura 3.21: Diagrama de navegación, pantallas de generación de pedidos
Fuente: Elaboración Propia
Según la revisión de las tareas del Sprint 2 se obtuvo los siguientes resultados como
se observa en las figuras: 3.22, 3.23, 3.24.
81
Figura 3.23: Pantalla de Control de Pedidos
Fuente: Elaboración Propia
82
3.5.3.3 SPRINT 3
En las Figuras 3.25 y 3.26 podemos visualizar el diagrama de casos de uso del
proceso de recepción y entrega de pedido.
83
Figura 3.26: Diagrama Casos de Uso, registro de entrega de pedido
Fuente: Elaboración Propia
En la figura 3.27 se observa el diagrama de clases para especificar las tareas del tercer
sprint.
84
Figura 3.28: Diagrama de procesos para la recepción generación de pedido
Fuente: Elaboración Propia
85
Figura 3.29: Diagrama de navegación de pantallas de recepción y entrega de pedido
Fuente: Elaboración Propia
86
Figura 3.30: Registro de recepción del producto
Fuente: Elaboración Propia
3.5.3.4 SPRINT 4
87
En las Figuras 3.31 podemos visualizar el diagrama de casos de uso del proceso de
devolución de productos.
Episodios:
En la figura 3.32 se observa el diagrama de clases para especificar las tareas del sprint
4.
88
Figura 3.32: Diagrama de clases de la especificación devolución de productos
Fuente: Elaboración Propia
89
En la figura 3.34 se observa de diagrama de navegación para identificar el enlace
entre páginas de los procesos identificados en el sprint 4.
Según la revisión de las tareas del cuarto Sprint se obtuvo los siguientes resultados
que se muestra en la figura 3.35.
90
Figura 3.35: Generación de la devolución de uno o más productos
Fuente: Elaboración Propia
3.5.3.5 SPRINT 5
91
29 Control de tipos de producto Media 5 Concluido
por cliente
30 Cierre diario de cada cliente Alta 7 Concluido
(Inventario)
Tabla 3.12: Sprint 5
Fuente: Elaboración Propia
A partir de la figura: 3.36 tenemos las siguientes historias de usuario que se muestra
en la tabla 3.13 y 3.14.
92
Título: Administración de Productos
Episodios:
Episodios:
En la figura 3.37 se observa el diagrama de clases para especificar las tareas del sprint
5.
93
Figura 3.37: Diagrama de clases, especificación del control de stock y cierre diario
Fuente: Elaboración Propia
94
Según la revisión de las tareas del quinto Sprint se obtuvo los siguientes resultados
que se muestran en la figura 3.39 y 3.40.
95
3.5.3.6 SPRINT 6
96
En la figura 3.41 y 3.42 podemos visualizar el diagrama de casos de las consultas y
reportes existentes en el sistema.
97
En la figura 3.43 se observa el diagrama de clases para especificar las tareas del sprint
6.
Figura 3.43: Diagrama de clases que especifican las consultas y reportes del sistema
Fuente: Elaboración Propia
98
Figura 3.44: Diagrama de navegación, pantallas de consultas y reportes del sistema
Fuente: Elaboración Propia
Según la revisión de las tareas del sexto Sprint se obtuvo los siguientes resultados que
se observa en las figuras 3.45 y 3.46.
99
Figura 3.46: Reporte formato .pdf de los productos existentes
Fuente: Elaboración Propia
100
CAPITULO IV
CONTROL DE CALIDAD
4.1 INTRODUCCIÓN
Las metas y alcances que ha definido el cliente o dueño del producto son los
siguientes:
Registro de Producto.
Automatizar Proceso de Entrega, devolución de Pedido.
Obtener información digital a través de un dispositivo de escritorio o móvil.
Satisfacer al cliente al momento de solicitar un pedido.
Evitar pérdidas de los productos que se proveen.
Lo perfiles de usuario que se han establecido y que tendrán acceso tanto al sistema
como la aplicación móvil son los siguientes:
Administrador.
101
Operador
Repartidor
Recepcionista.
En esta fase se aplica y cumple con las características de calidad interna y externa de
la norma ISO 9126.
4.1.2.1 FUNCIONALIDAD
Aplicando el punto de función se tienes las siguientes tablas 4.1, 4.2, 4.3 ,4.4, 4.5.
Número de entradas externas
Nro. Entradas Externas Cantidad
1 Adición de tipo de producto 1
2 Registro de producto 1
3 Registro de cliente 1
4 Registro de sucursal 1
5 Registro de plantilla 1
6 Asignación de producto a plantilla 1
7 Realizar pedido 1
8 Aceptar/Rechazar pedido 1
9 Registro de Entrega 1
10 Registro de devolución 1
11 Aceptar/Rechazar devolución 1
12 Cierre diario por parte de la Empresa 1
13 Cierre diario por parte del cliente 1
Total 13
Tabla 4.1: Entradas Externas
Fuente: Elaboración Propia
102
Número de salidas externas
103
7 Búsqueda de entrega por fecha 1
8 Búsqueda de entregas 1
9 Búsqueda de devoluciones 1
Total 9
Tabla 4.3: Consultas Externas
Fuente: Elaboración Propia
104
Salidas externas 14 4 56
Consultas externas 9 3 27
Archivos lógicos internos 23 7 161
Archivos de interfaz externos 4 5 20
Conteo Total 303
Tabla 4.6: Calculo de entradas de punto de función
Fuente: Elaboración Propia
Se toma el siguiente criterio para los FAV (factores de ajuste de valor), que se
describen en la tabla 4.7.
Escala Valor
Esencial 5
Significativo 4
Medio 3
Moderado 2
Incidental 1
No Importante 0
Tabla 4.7: Rangos para evaluar punto de función
Fuente: Elaboración Propia
105
utilizado?
6 ¿El sistema requiere entrada de datos en línea? 4
7 ¿La entrada de datos en línea requiere que la transacción de entrada se 4
construya sobre múltiples pantallas u operaciones?
8 ¿Los ALI se actualizan en línea? 3
9 Las entradas, salidas, archivos o consultas son complejos? 5
10 ¿El procesamiento interno es complejo? 4
11 ¿El código se diseña para ser reutilizable? 5
12 ¿La conversión y la instalación se incluyen en el diseño? 5
13 ¿El sistema se diseña para instalaciones múltiples en diferentes 5
organizaciones?
14 ¿La aplicación se diseña para facilitar el cambio y su uso por parte del 5
usuario?
Total 58
Tabla 4.8: Factores de ajustes de valor
Fuente: Elaboración Propia
Funcionalidad = PF / PFmax
106
Por lo tanto, la funcionalidad es:
Funcionalidad = 91%
4.1.2.2 CONFIABILIDAD
Calculamos la disponibilidad:
confiabilidad = 90.90%
4.1.2.3 USABILIDAD
Es un factor qué solo se puede medir indirectamente y está relacionado con el usuario
y con lo amigable qué puede ser el software con el usuario. Para esto se utilizó un
cuestionario y un rango de valores para la evaluación, descritas en las tablas en la
tabla 4.9, 4.10.
Escala Valor
Excelente 5
Bueno 4
Aceptable 3
Deficiente 2
Pésimo 1
Tabla 4.9: Rangos para evaluar la usabilidad
Fuente: Elaboración Propia
107
El cuestionario está compuesto de 10 preguntas con la correspondiente valoración del
usuario, donde se puede observar los valores máximos y mínimos obtenidos para
cada pregunta, los valores obtenidos son de un promedio de 10 usuarios.
108
Donde:
P1 + P2 + P3 + P4 + P5 + P6 + P7 + P8 + P9 + P10 100
𝑢𝑠𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = *
𝑁𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑟𝑒𝑔𝑢𝑛𝑡𝑎𝑠 5
4.5 + 4.5 + 5+ 4.5 + 4.5 + 4.5 + 4.4 + 4.3 + 4.5 + 4.4 100
𝑢𝑠𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = *
10 5
Usabilidad = 90.2 %
4.1.2.4 EFICIENCIA
Escala Valor
Excelente 5
Bueno 4
Aceptable 3
Deficiente 2
Pésimo 1
Tabla 4.11: Rangos para evaluar la eficiencia
Fuente: Elaboración Propia
109
En base a los resultados obtenidos, se puede tener una idea cuantitativa de la
eficiencia del producto que continuación observamos:
Donde:
V1 + V2 + V3 + V4 + V5 100
𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑖𝑎 = *
𝑁𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑟𝑒𝑔𝑢𝑛𝑡𝑎𝑠 5
5+5+5+4+5 100
𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑖𝑎 = * = 96 %
5 5
4.1.2.5 MANTENIMIENTO
Escala Valor
Excelente 5
Bueno 4
Aceptable 3
Deficiente 2
Pésimo 1
Tabla 4.13: Rangos para evaluar el mantenimiento
Fuente: Elaboración Propia
Para realizar la valoración del mantenimiento del producto, se tienen las siguientes
apreciaciones como se observa en la siguiente tabla 4.14.
110
¿Los cambios mejoran la facilidad al momento 5
de hacer pruebas?
Tabla 4.14: Valoración para el mantenimiento
Fuente: Elaboración Propia
Donde:
V1 + V2 + V3 + V4 + V5 100
𝑚𝑎𝑛𝑡𝑒𝑛𝑖𝑚𝑖𝑒𝑛𝑡𝑜 = *
𝑁𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑟𝑒𝑔𝑢𝑛𝑡𝑎𝑠 5
4 + 4 + 5+ 5 + 5 100
𝑚𝑎𝑛𝑡𝑒𝑛𝑖𝑚𝑖𝑒𝑛𝑡𝑜 = * = 92 %
5 5
4.1.2.6 PORTABILIDAD
Escala Valor
Excelente 5
Bueno 4
Aceptable 3
Deficiente 2
Pésimo 1
Tabla 4.15: Rangos para evaluar la portabilidad
Fuente: Elaboración Propia
111
Factor de ajuste Valor
Facilidad de instalación 5
Facilidad de ajustes 4
Facilidad de adaptación a cambios 4
Producto multiplataforma 5
Compatibilidad con diferentes navegadores 5
Tabla 4.16: Valoración para el mantenimiento
Fuente: Elaboración Propia
En base a los resultados obtenidos se puede tener una idea cuantitativa de portabilidad
como se puede ver a continuación:
Donde:
V1 + V2 + V3 + V4 + V5 100
𝑝𝑜𝑟𝑡𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = *
𝑁𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑟𝑒𝑔𝑢𝑛𝑡𝑎𝑠 5
5+4+4+5+5 100
𝑝𝑜𝑟𝑡𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = * = 92 %
5 5
Por lo tanto para los resultados obtenidos de las métricas de la norma ISO 9126 se
establece un resultado final, el cual se describe a continuación en la tabla 4.17.
Escala Valor
Funcionalidad 91%
Confiabilidad 90.90%
Usabilidad 90.20%
112
Eficiencia 96.00%
Mantenimiento 92.00%
Potabilidad 92.00%
Promedio 92%
Tabla 4.17: Resultados de las características de calidad
Fuente: Elaboración Propia
Se puede apreciar que el usuario final, tendrá una satisfacción del 86.01% al
momento de hacer uso del sistema o la aplicación móvil. Lo cual da una percepción o
noción de que nuestro producto es de calidad.
113
CAPITULO V
SEGURIDAD
5.1 INTRODUCCIÓN
5.1.1 INYECCIÓN
La Api que se está usando para el desarrollo cuenta con la seguridad ante
posibles entradas de sql inyección.
114
5.1.2 PÉRDIDA DE AUTENTICACIÓN Y GESTIÓN DE SESIONES
115
Seguridad a nivel de permisos, en los procesos que se tiene en el sistema y
aplicación móvil.
116
CAPITULO VI
6.1 INTRODUCCIÓN
Una de las tareas de mayor importancia en la administración de proyectos de software
es la estimación de costos. Si bien es una de las primeras actividades, inmediatamente
posterior al establecimiento de los requerimientos, se ejecuta regularmente a medida
que el proyecto progresa.
117
Esto significa que todo el equipo de desarrollo podrá contribuir en las etapas iniciales
del proyecto sin generar confusión en las comunicaciones debido a que todos conocen
que tarea deben realizar. Además, un proyecto clasificado dentro del modo orgánico,
es relativamente flexible en el cumplimiento de los requerimientos, especificaciones
de interface y tiempos de entrega.
Muy pocos proyectos de modo orgánico han desarrollado productos con más de 50
KSLOC de nuevo software. En los casos de productos más extensos, han sido
construidos frecuentemente a partir de software existente. Estas características
permiten decir que los proyectos que se encuentran en este modo tienen una gran
productividad y una pequeña deseconomía de escala. Ejemplos de software que se
encuentran bajo esta clasificación son:
Modelos de negocios.
Modelos científicos.
Sistemas operativos de pequeña escala.
118
Son sistemas que presentan niveles variados de exigencia, algunas interfaces
rigurosas (auditadas por el gobierno) y otras interfaces muy flexibles
(mensajes de display al operador).
119
a un gran equipo de programadores las tareas de diseño detallado, codificación y
testeo.
Esfuerzo:
PM = A x (KSLOC)𝐵
Dónde:
Cronograma
TDEV = C x (PM)𝐷
Dónde:
120
C y D son coeficientes que varían según el Modo de Desarrollo (Orgánico,
Semiacoplado, Empotrado)
A continuación se desarrolla el análisis del costo del desarrollo, tanto del sistema
como la aplicación móvil y los beneficios que obtendrá la empresa Tecnoalimentos
Ltda. y los clientes con los que cuenta.
Ahora para la distribución del tiempo total de desarrollo del sistema colaborativo,
para cada fase se tiene que:
30 % Análisis y Diseño
40% Codificación
30% Pruebas
121
1 Meses Pruebas
2 Meses Codificación
El VAN es un indicador financiero que mide los flujos de los futuros ingresos y
egresos que tendrá un proyecto, para determinar, si luego de descontar la inversión
inicial, nos quedaría alguna ganancia. Si el resultado es positivo, el proyecto es
viable.
Dónde:
El beneficio neto actualizado (BNA) es el valor actual del flujo de caja o beneficio
neto proyectado, el cual ha sido actualizado a través de una tasa de descuento.
122
(VAN igual a 0) es porque se ha cumplido con dicha tasa. Y cuando el BNA es mayor
que la inversión es porque se ha cumplido con dicha tasa y además, se ha generado
una ganancia o beneficio adicional.
Tamaño de la inversión.
Flujo de caja neto proyectado.
Tasa de descuento.
El proyecto como ya se había visto en el punto 5.2.1 tiene una inversión de 4710 $ y
una tasa de descuento (TD) de 14% para 5 años se estima que:
123
través de una tasa de descuento (tasa de rentabilidad mínima que esperamos
ganar).
Hallando el VAN:
VAN = 9539 $
Tamaño de inversión.
Flujo de caja neto proyectado.
Para hallar la TIR hacemos uso de la fórmula del VAN, sólo que en vez de hallar el
VAN (reemplazamos por 0), estaríamos hallando la tasa de descuento:
TIR = 81%
124
Como el TIR es alto, estamos ante un proyecto empresarial rentable, que supone un
retorno de la inversión equiparable a unos tipos de interés altos que posiblemente no
se encuentren en el mercado. Sin embargo, si el TIR hubiera sido bajo, posiblemente
podríamos encontrar otro destino para el dinero invertido.
125
CAPITULO VII
CONCLUSIONES Y RECOMENDACIONES
7.1 CONCLUSIONES
Con la implementación del sistema y la aplicación móvil se puede concluirlo
siguiente:
7.2 RECOMENDACIONES
Las recomendaciones que se pueden mencionar y que debe tener en cuenta el cliente
se especifican a continuación:
126
Realizar el cierre diario para mantener la cantidad de producto actualizado
para generar el pedido automático.
127
BIBLIOGRAFÍA
REFERENCIAS BIBLIOGRÁFICAS
128
REFERENCIAS ELECTRÓNICAS
[1] International Function Point users group. (s.f). About Function Point Analysis.
Obtenido de http://www.ifpug.org/about-ifpug/about-function-point-analysis/.
129
ANEXOS
130
ANEXO A:
ÁRBOL DE PROBLEMAS
131
ANEXO B:
ÁRBOL DE OBJETIVOS
132
ANEXO C:
MARCO LÓGICO
133
el Control de la devoluciones de clientes en el propietarios de la
Información de productos que se momento que se Empresa para
productos para la realiza a los requiera. realizar el uso
Empresa clientes correcto.
Tecnoalimentos
Ltda. Haciendo uso
de Tecnologías Web
y Móvil.
Diseño e
Implementación
-Registro de Realizar prueba El Personal
del módulo de
Información sobre cada uno de Encargado y
Registro (del
correspondiente a los módulos y a Clientes de la
28/02/2016 al
insumos, productos través de esto Empresa deben
13/03/2016).
a través del Módulo generar informes realizar los
de Registro. sobre los resultados procesos de
obtenidos de las registro, entrega,
pruebas realizadas devolución
-Control de envíos, Diseño e para cada uno de los haciendo uso del
devoluciones, stock Implementación módulos. Sistema para
de productos que se del módulo de disponer de
-Emisión de
Reportes
134
correspondientes a
Diseño e
los productos,
Implementación
clientes que tiene la
del Módulo de
Empresa, a través
Reportes (del
del Módulo de
06/04/2016 al
Reportes.
29/04/2016).
135
DOCUMENTACIÓN
136