Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
PROYECTO DE GRADO
“SISTEMA WEB DE CONTROL DE INVENTARIOS,
MANUFACTURACIÓN Y PRODUCTO FINAL PARA LA EMPRESA
INDUSTRIAL COMERCIAL DE ALIMENTOS INCADEX S.R.L.”
CASO: INCADEX S.R.L.
LA PAZ – BOLIVIA
2016
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE CIENCIAS PURAS Y NATURALES
CARRERA DE INFORMÁTICA
LICENCIA DE USO
i
AGRADECIMIENTOS
Primeramente a Dios por guiarme a iluminarme cuando más lo necesitaba.
A mi madre Carmen Paulina Roque Quispe por el apoyo moral, paciencia, tolerancia en
los momentos difíciles que se presenta en la vida universitaria, motor principal a seguir
siempre adelante.
A mi padre Elías Mendoza Q.E.P.D. por cuidarme desde el cielo y ser mi angelito que
cuida a mis abuelitos, bisabuelitos que ya no están pero iluminan desde el cielo.
A mi tutor, M. Sc. Aldo Valdez Alvarado por su gran paciencia, ayuda y colaboración
desde que pase taller I, consejos claros que marco marcara mi vida por cada enseñanza
consulta realizada en esta gestión.
Al Lic. Marco A. Vera Carvajal jefe personal por la confianza infinita, tiempo a la hora de
ingresar a la empresa, paciencia en el detallado de cada proceso a realizar dentro de la
entidad
A la empresa INCADEX S.R.L. por abrirme las puertas a este emprendimiento en esta
oportunidad para realizar el proyecto
Sr. Ceferino Alcon jefe almacenero de agradecida por la orientación y explicación
detallada de almacén entre otras consultas.
A todos mis docentes de la carrera de informática por las enseñanzas que me dieron en
cada materia cursada.
ii
RESUMEN
Finalmente se puede mostrar en las conclusiones que los objetivos planteados fueron
alcanzados y que el producto desarrollado cumple con los requerimientos, funcionales de
la empresa.
iii
ABSTRACT
The development of a web system resulted in a shedding of many ideas to see technology
advance the impact on companies, it is not easy task unless they are worker or exclusive
knower of the entity for obtaining and processing data we see in Bolivia That the various
companies do not all maintain a development of the use of updated technologies but it is
important to emphasize that they go step by step by necessity utilitarian optimizing time
with the use of the technologies.
The purpose of this project is to support the company INCADEX SRL, through the
implementation of the system that will allow the control of the store (raw material),
manufacturing (chocolate processing) and finally the final product once the work is
completed within The company and be able to be exposed for sale.
The development of the project is focused under the agile methodology of SCRUM and the
UWE web design methodology.
Finally, it can be shown in the conclusions that the objectives were achieved and that the
developed product meets the functional requirements of the company.
iv
ÍNDICE
Capítulo 1 Marco Referencial.
1.1. Introducción............................................................................................................... 1
1.2. Antecedentes............................................................................................................. 2
1.2.1. Antecedentes Institucionales.................................................................................. 2
1.2.1.1. Organización de la Empresa............................................................................... 3
1.2.1.2. Manejo de Inventarios........................................................................................ 4
1.2.1.3. Producción y Manufacturación del Chocolate.................................................. 5
1.2.1.4. La Producción Final............................................................................................ 6
1.2.2. Proyectos Similares................................................................................................ 6
1.3. Planteamiento del Problema...................................................................................... 8
1.3.1 Problema Central..................................................................................................... 8
1.3.2 Problemas Secundarios........................................................................................... 9
1.4. Definición del Objetivos........................................................................................... 10
1.4.1 Objetivo General...................................................................................................... 10
1.4.2 Objetivos Especificos............................................................................................... 10
1.5. Justificación............................................................................................................... 11
1.5.1 Económica................................................................................................................ 11
1.5.2 Social....................................................................................................................... 11
1.5.3 Tecnológica............................................................................................................. 12
1.6. Alcances y Límites.................................................................................................... 13
1.6.1 Alcances.................................................................................................................. 13
1.6.2 Limites..................................................................................................................... 13
1.7. Aportes..................................................................................................................... 14
1.7.1. Práctico.................................................................................................................. 14
1.7.2. Teórico................................................................................................................... 15
1.8 Metodología............................................................................................................... 15
1.8.1. Metodología de Investigación............................................................................... 15
1.8.2. Metodología de Ingeniería...................................................................................... 15
v
2.1.1.1 Análisis de los requerimientos del software......................................................... 18
2.1.1.2 El Análisis de Requisitos del software; cinco áreas............................................... 18
2.1.1.3 Diseño................................................................................................................... 19
2.1.1.4 Generación de Código........................................................................................... 20
2.1.2 Modelos de Proceso de Software............................................................................. 20
2.1.2.1 Modelos Tradicionales.......................................................................................... 20
2.1.2.2 Modelos Evolutivos............................................................................................. 21
2.1.2.3 Modelos Para Sistemas Orientado a Objetos...................................................... 22
2.1.2.4 Procesos Agiles.................................................................................................... 23
2.2 Metodología de Desarrollo Scrum .............................................................................. 23
2.2.1 Herramientas de Metodología.................................................................................. 24
2.2.1.1 Pila de Producto................................................................................................... 24
2.2.1.2 Product Backlog List ............................................................................................ 26
2.2.1.3 Sprints ................................................................................................................... 26
2.2.2 Roles y Responsabilidades...................................................................................... 27
2.2.2.1 Product Owner ...................................................................................................... 27
2.2.2.2 Scrum Master ...................................................................................................... 28
2.2.2.3 Scrum Team ......................................................................................................... 29
2.2.3 Proceso de La Metodología.................................................................................... 31
2.2.3.1 Pre – Game .......................................................................................................... 31
2.2.3.2 Game.................................................................................................................... 32
2.2.3.3 Post – Game .......................................................................................................... 32
2.2.4 Control de Evolución de Proyecto......................................................................... 34
2.3 Ingeniería Web........................................................................................................... 35
2.3.1 Proceso de Ingeniería Web..................................................................................... 37
2.3.3 Seguridad Informática en la Página Web................................................................. 37
2.4 Metodología Uwe....................................................................................................... 39
2.4.1 Fases de la Metodología Uwe................................................................................ 40
2.4.1.1 Análisis de Requisitos.......................................................................................... 40
2.4.1.2 Diseño Conceptual............................................................................................... 42
vi
2.4.1.3. Diseño Navegacional............................................................................................ 43
2.4.1.4 Diseño de Presentación........................................................................................ 45
2.5 Base de Datos............................................................................................................ 47
2.5.1 Base de Datos Relacionales..................................................................................... 48
2.5.1.1. Gestores de Base De Datos Relacionales............................................................ 48
2.5.1.2. Postgresql….......................................................................................................... 48
2.5.2. Orm.......................................................................................................................... 49
2.6 Tecnologías Web…..................................................................................................... 49
2.6.1 Python ..................................................................................................................... 50
2.6.3. Bootstrap ................................................................................................................ 50
2.7. Inventarios................................................................................................................. 50
2.7.1 Clasificación de Inventarios................................................................................... 51
2.7.1.1. Inventario de Materias Primas............................................................................. 51
2.7.1.2. Inventario de Productos En Proceso de Fabricación......................................... 51
2.7.1.3. Inventario de Productos Terminados................................................................... 51
2.7.2. Control Inventarios….............................................................................................. 51
2.7.3. Manufacturación...................................................................................................... 52
2.7.3.1 Compra u Obtención.............................................................................................. 53
2.7.3.2. Recepción……..................................................................................................... 53
2.7.4. Almacenaje……...................................................................................................... 53
2.7.5. Producción……..................................................................................................... 54
2.7.6. Producto Terminado……..................................................................................... 54
vii
3.3.1.2 Especificaciones de Casos de Uso del Sprint 1.................................................. . 68
3.3.1.3 Diseño Navegacional............................................................................................ 71
3.3.1.4 Diseño Presentación............................................................................................. 72
3.3.1.5 Pantalla de Sprint 1............................................................................................. ..72
3.3.1.6 Prueba Unitaria del Sprint 1................................................................................ 74
3.3.2 Desarrollo del Sprint 2: Módulo de Inventario....................................................... .75
3.3.2.1 Planificación del Sprint 2: Modulo Inventario..................................................... 76
3.3.2.2 Especificación de Casos de Uso de Sprint 2......................................................... 78
3.3.2.3 Diseño Navegacional............................................................................................. 87
3.3.2.4 Diseño de Presentación.......................................................................................... 88
3.3.2.5 Pantallas del Sprint 2 …………………………………………………………. 89
3.3.2.6 Prueba unitaria del Sprint 2................................................................................... .90
3.3.3 Desarrollo del Sprint 3: Módulo Manufacturación................................................. . 91
3.3.3.1 Planificación de Sprint 3: Módulo Manufacturación............................................ 91
3.3.3.2 Especificación de Casos de Uso de Sprint 3......................................................... 93
3.3.3.3 Diseño Navegacional Sprint 3: Manufacturación.................................................. 97
3.3.3.4 Diseño Presentación Sprint 3................................................................................. 99
3.3.3.5 Pantallas de Sprint 3 Manufacturación................................................................. 100
3.3.3.6 Prueba Unitaria del Sprint 3................................................................................. 100
3.3.4 Desarrollo del Sprint 4: Módulo Producto Final..................................................... 101
3.3.4.1 Planificación de Sprint 4: Módulo Producto Final............................................... 101
3.3.4.2 Especificación de Casos de Uso del Modelo de Negocio.................................... 103
3.3.4.3 Diagrama de Casos de Uso de Negocio...............................................................108
3.3.4.4 Diagrama de Clases del Modelo de negocio....................................................... 109
3.3.4.5 Diagrama Entidad Relación del modelo de negocio............................................ 110
3.3.4.6 Prueba Modulo 4 Producto Final..........................................................................110
3.4 Fase del Post – Game................................................................................................ 112
3.4.1 Pruebas de Investigacion........................................................................................ 112
3.5 Pruebas de Stress........................................................................................................ 112
viii
4.1.1 Web Quality Evaluation Methodology-Web Site QEM.......................................... 115
4.1.1.1 Definición de Implantacion de la Evolución Elemental....................................... 115
4.1.1.2 Criterio de Preferencia de Calidad Elemental...................................................... 115
4.1.1.3 Evaluación Elementales....................................................................................... 116
4.1.1.4 Especificación de Requerimientos de Calidad..................................................... 117
4.1.1.5 Computo de Preferencias Parciales...................................................................... 117
4.2 Seguridad................................................................................................................... 121
4.2.1 Autenticación.......................................................................................................... 121
4.2.2 Encriptar Contraseña............................................................................................... 121
4.2.3 Preparar y Validar Datos......................................................................................... 121
Capítulo V Análisis Costo Beneficio
5.1 Cocomo II................................................................................................................... 126
5.2 Costo del Sistema...................................................................................................... 126
5.2.1 Costo de desarrollo del software............................................................................. 126
5.2.2 Costo de Implementación....................................................................................... 130
5.2.3 Costo de Elaboración del Proyecto......................................................................... 130
5.2.4 Costo Total del Software......................................................................................... 131
5.3 Valor Actual Neto...................................................................................................... 131
5.3.1 Costo / Beneficio..................................................................................................... 133
5.4 Tasa Interna de Retorno............................................................................................. 134
Bibliografía…………………………………………………………………………… 137
ix
ÍNDICE DE FIGURAS
CAPITULO I 3
Figura.1.1. Organigrama de la Empresa…………..……………………………… 3
CAPITULO II
Figura 2.1. Roles y Responsabilidades……………………………………………. 31
Figura 2.2. Visión general del proceso de la metodología Scrum………………… 33
Figura 2.3: Análisis de caso de uso y su relación………………………………… 41
Figura 2.4. Diagrama de casos de uso de alto nivel del Negocio………………… 42
Figura 2.5: Ejemplo de diagrama de contenido………………………………….. 43
Figura 2.6: Ejemplo de diagrama de navegación ………………………………. 45
Figura 2.7: Diagrama de presentación ………………………………………….. 47
CAPITULO III
Figura 3.1: Modelo de procesos del proyecto…………………………………….. 56
Figura 3.2 Diagrama de casos de uso de usuario ……………………………........ 68
Figura 3.3.Diseño Navegacional………………..………………………………… 71
Figura 3.4: Diagrama de registro de personal………………………....…………. 72
Figura 3.5 Página de Inicio……………………………………………………….. 73
Figura 3.6 Registro de Personal……………………………….......……………… 73
Figura 3.7. Listado de personal……………………..……………………………. 74
Figura 3.8. Registro de Personal……………………………………………….... 74
Figura 3.9.Diagrama de Casos de Uso de Registrar Materia Prima…………….. 76
Figura 3.10. Diagrama de Casos de Uso de Registrar Herramienta……………… 78
Figura 3.11 Modelo de navegación materia prima, herramienta………………... 88
Figura 3.12 Modelo de presentación de Inventarios………………………...….. 89
Figura 3.13 Registro de Materia Prima y Herramientas…………………..……. 90
Figura 3.14. Diagrama de Casos de Uso de Registrar Receta…………………… 93
Figura 3.15. Diseño navegacional del sprint 3……………………………......... 98
Figura 3.16. Diseño de presentación del sprint 3……………………………….. 99
Figura 3.17 Registro de Producto Registro de Receta…………………………. 100
Figura 3.18.Diagrama de Casos de Uso de Registrar Producto Final…………… 103
Figura 3.19. Diagrama de casos de uso de alto nivel del Negocio…………….... 108
Figura 3.20. Diagrama de Clases del Modelo de Negocio……………………… 109
Figura 3.21. Diagrama Entidad Relación del Modelo de Negocio……………… 110
Figura 3.22. Menoría del sistema y carga del CPU…………………………….. 113
Figura 3.23 Capacidad de carga del sistema……………………………………. 114
CAPITULO IV
Figura 4.1: Estructura de agregación de preferencias parciales………………… 116
Figura 4.2: Rango de aceptabilidad de preferencia de calidad…………………. 116
x
ÍNDICE DE TABLAS
CAPITULO I
Tabla 1.1 Registro de Control de Inventarios…………………………………… 4
Tabla 1.2. Secciones de producción y Manufacturación……………………….. 6
CAPITULO II
Tabla 2.1: Elementos de diseño navegacional………………………………….. 44
Tabla 2.2: Estereotipos para el diagrama de presentación……………………… 46
CAPITULO III
Tabla 3.1: Identificación de Roles de Scrum…………………………………… 57
Tabla 3.2. Product Backlog……………………………………………………. 64
Tabla 3.3: Requerimientos de Hardware y Software………………………….. 65
Tabla 3.4: Primer Sprint Backlog……………………………………………… 68
Tabla 3.5. Registro de Usuario………………………………………………… 71
Tabla 3.6: Prueba unitaria - Sprint 1…………………………………………… 75
Tabla 3.7: Segundo Sprint Backlog …………………………………………… 78
Tabla 3.8. Registrar materia prima……………………………………………. 83
Tabla 3.9. Registrar Herramienta………………………………………………. 87
Tabla 3.10: Prueba unitaria - Sprint 2………………………………………… 91
Tabla 3.11: Tercer Sprint Backlog……………………………………………… 93
Tabla 3.12. Registrar Receta………………………………………………….. 97
Tabla 3.13: Prueba unitaria - Sprint 3………………………………………….. 101
Tabla 3.14 Listado de Producto final …………………………………………… 103
Tabla 3.15.Registrar Producto Final…………………………………………….. 107
Tabla 3.16 Pruebas del Producto final………………………………………….. 111
Tabla 3.17: Resumen de pruebas de integridad ………………………………… 112
CAPITULO IV
Tabla 4.1: Computo de las preferencias parciales ……………………………… 119
Tabla 4.2: Calidad global……………………………………………………….. 120
Tabla 4.3 Validación de datos…………………………………………………… 122
Tabla 4.4: Preparar los datos introducidos por el usuario ………………………. 123
CAPITULO V
Tabla 5.1: Coeficientes: a, b c y d COCOMO II ……………………………….. 125
Tabla 5.2: Punto función………………………………………………………… 126
Tabla 5.3: Conversión de puntos función a KLDC……………………………… 127
Tabla 5.4: Costo de elaboración del proyecto…………………………………… 131
Tabla 5.5: Costo total del software……………………………………………… 131
Tabla 5.6: Calculo VAN………………………………………………………… 133
Tabla 5.7: Criterio de interpretación del VAN………………………………….. 133
Tabla 5.8: Calculo de la tasa interna de retorno ………………………………… 135
xi
Capítulo I
Marco Referencial
1.1. Introducción
1
inventariado está definido por la recepción, almacenamiento y movimiento dentro de su
correspondiente almacén hasta el punto de consumo de material y salida de producción.
1.2. Antecedentes
Visión
Misión
• Caja bombones: variados sabores de frutas que están dentro del chocolate.
2
• Caja Preludio: chocolate mezclado con chocolate blanco y chocolate de menta.
La variedad aun expande mucho más de lo mencionado claro ejemplo está en la variedad
que existe en la elaboración de cada producto que se trabaja y muestra ante la sociedad,
más de treinta años de trabajo, después se convirtió en la mayor industria de chocolates de
Bolivia. Bombones, tabletas, grageas conforman una lista de más de cien productos que la
empresa elabora hoy en día.
Esta entidad está a cargo de manera general y principal de un gerente, jefe de planta y
subjefe de las diversas secciones establecidas en la unidad empresarial, además que cuenta
con un personal diverso destinados a cargos diferentes que trabajan el orden
correspondiente a cada área destinada de la fabricación, producción y ventas. Ver la figura
3
1.2.1.2 Manejo de Inventarios
El manejo de Inventarios dentro de la empresa se realiza a través de una computadora con sistema
operativo Windows, tiene instalado Office Excel como herramienta de registro de bienes. Ver tabla
1.1 ejemplo de control de inventarios.
La materia prima tiene un ingreso que se registra en notas que posteriormente son trasladadas a
informes realizados en Excel, con la intención de obtener un orden y reporte de lo ingresado, más
existen diferentes inconvenientes como la mala escritura de la nota realizada, antes de ser transcrita,
muchas veces la información de la materia tiene unidades de medida diferentes al Sistema
Internacional SI y provoca un mal registro del mismo. A lo referido a la manera de registrar no
existe correspondencia en los datos referentes a la materia prima, bien tangible o intangible,
producto. Se puede decir que carece de un orden necesario dentro de manejo de información. Existe
materia prima que es recogida de manera periódica y que no está disponible en cualquier momento
o también cuando se adquiere material en grandes cantidades ya sea en periodos largos o cortos.
Los inventarios tienen una rutina muy variada desde que sale del almacén hasta que esta ingresa la
manufacturación siempre será acorde a lo pedido basado siempre en las recetas que tiene la misma
empresa terminando un largo proceso de elaboración vemos el largo listado complicado a la hora de
4
que estos acaben ya que siempre existirá un margen de producto aun no terminado en su
elaboración.
5
Propio a bombonería, hacen diferentes tipos de
productos con cremas o con fondant, referido al
Sección 5
proceso de preparado de chocolate
6
Este proyecto hizo un sistema para apoyar las actividades de parte de un diseño de afiliados
de las cajas de seguro y las aportaciones que realiza las personas a la hora de su registro de
procesos. Con el sistema web se pueden registrar afiliados a una única base de datos, de
esta manera se obtendrá la información integra de la población asegurada. También
controla que una persona no se pueda registrar más de una vez y protegerá la información
con seguridad lógica. Dando un servicio más óptimo e eficiente a la hora de pedir su
información personal de los asegurados de las diversas empresas o trabajos de la población
en general optimizando tiempos y protegiendo la información necesaria.
Domingo Murillo”
7
Este proyecto ha sido desarrollado en las oficinas de TALVISER (Técnica de Aluminio,
Vidrio y Servicios) con el objetivo de automatizar los procesos y optimizar los tiempos de
producción de los procesos que se realizan en la empresa y mediante la tecnología de los
dispositivos móviles se tratara de realizar los procesos en un instante. Para el desarrollo del
proyecto se utilizó la metodología SCRUM, que propone un modelo de proceso
incremental, basado en iteraciones y revisiones continuas de las ventas e inventarios para
almacenes de aluminio mediante el uso de dispositivos que hoy en día hacen más útil en
obtener una información más óptima y rápida en un dispositivo con una información más
actualizada y precisa a la hora de hacer un proceso de recepción a la hora de ventas u/o
control de inventarios correspondientes a la institución.
Primero el ingreso de materia prima utilizado por la empresa es de acuerdo al pedido que la
misma hace, las cantidades pedidas varían de acuerdo al tiempo, precio, calidad que el
proveedor pueda llegar a ofrecer.
El encargado del almacén recibe el material pedido, tomando nota de cada ingreso de venta
hacia la empresa con su respectiva factura, para luego estos datos de ingresos puedan ser
añadidos en una hoja de cálculo manteniendo así el orden de manera que no puedan perder
información alguna desde que ingresa hasta q sale de la unidad de sección.
El uso de los materiales a la hora de ser pedidos para luego ser procesados y tener un
producto acabado son administrados por el jefe del almacén, el mismo da la cantidad
pedida a los responsables de cada sección. El pedido es realizado de manera manual y los
8
reportes que obtiene el jefe de almacén son enviado de forma escrita al jefe de planta el
cual actualizara dicha información. El preparado de chocolate (material principal) lleva un
proceso continuo de mezcladora, refinadora y conching. El proceso del chocolate entre
otros alimentos tiene un determinado tiempo, espacio de preparación, como ser la
bombonería, tableteadora y bombos graneadores. Una vez que el producto termina su
proceso de preparación y moldeado este pasa a un control de calidad: etiquetadora,
envolvedora, flowpack.,el proceso que la misma lleva tiende a ser largo y detallado siempre
velando por la calidad que la empresa brinda en cada uno de los productos a la hora de ser
expuestos en venta .
9
• La falta de seguridad en el sistema, que es un proceso manual que realiza la
Agencia, puede provocar gastos insulsos y manejo indebido al presupuesto designado por
departamento.
10
1.5. Justificación
1.5.1 Económica
• Priorizaremos más otras funciones que no influyan tanto a un gasto alguno a la hora de
hacer la ejecución del código.
1.5.2. Social
11
Optimizando las áreas funcionales y movimiento garantizara un suministro continuo y
oportuno de los materiales y medios de producción requeridos para asegurar los servicios
de forma ininterrumpida y rítmica para la empresa dando lugar también a un tiempo
reducido y de gran beneficio para el usuario (jefe de planta).
Los informes y reportes serán de manera inmediata, brindando datos actualizados para el
beneficio de las actividades diarias que realiza la Agencia. El almacenero ya no realizará el
trabajo tedioso de registrar e informar manualmente; al reducir el desgaste humano el
personal aumentara su nivel tanto competitivo como productivo a la hora de obtener los
datos y darlos a conocer al jefe de planta datos que son de aviso de control de inventario o
aviso terminado del proceso de la empresa.
1.5.3 Tecnológica
Cuentan con seis servidores de la cual una está específicamente destinada a ser manejada
por el Jefe de Planta el cual administrara todos los datos de almacén, proceso y acabado del
producto.
12
1.6. Alcances Y Límites
1.6.1. Alcances
Registrar personal
Registrar proveedores
Noticia
• Módulo de inventarios
• Módulo de manufacturación
Registrar receta
Procesar receta
Galería de productos
1.6.2 Limites
13
• Solo podrá ser usado por la empresa INCADEX S.R.L.
• Uso especial para quien supervisa todo tipo de material del almacén, proceso y final del
producto.
1.7. Aportes
1.7.1. Práctico
14
los materiales, registrando estos que se les asignó al momento del ingreso, posteriormente
será almacenado en la base de datos del servidor.
1.7.2. Teórico
1.8. Metodología
15
análisis, diseño, implementación y pruebas de la aplicación, se utilizó la metodología ágil de
desarrollo de software Scrum, complementada con las herramientas de modelado web que
proporciona UWE que estará orientado a las aplicaciones que hacen uso intensivo de datos,
control gestión general de almacenes, proceso y terminado final que trabajara y será de gran
ayuda con la gran cantidad de datos, para la implementación del sistema web.
16
Capítulo II
Marco Teórico
El software para muchas personas son solo programas de computadora, sin embargo nos
comenta que son todos aquellos documentos asociados a la configuración de datos que se
necesitan para hacer que estos programas operen de manera adecuada. Estos productos de
software se desarrollan para algún cliente en particular o para un mercado en general. Para el
diseño y desarrollo de proyectos de software se aplican metodologías, modelos y técnicas que
permiten resolver los problemas. En los años 50 no existían metodologías de desarrollo, el
desarrollo estaba a cargo de los propios programadores. De ahí la importancia de contar con
analistas y diseñadores que permitieran un análisis adecuado de las necesidades que se
deberían de implementar. Sommerville ,2005.
La ingeniería de software es una disciplina de la ingeniería que comprende todos los aspectos
de la producción de software desde las etapas iniciales de especificación del sistema hasta el
mantenimiento de este después que se utiliza
17
2.1.1 Etapas del Proceso
De acuerdo con Roger Pressman (2002), las etapas metodológicas a llevar a cabo para el
desarrollo de Sistemas de Información, se establecen de la siguiente manera:
2.1.1.2. El análisis de requisitos del software puede dividirse en cinco áreas de esfuerzo,
que son:
18
software, entender el comportamiento del software en el contexto de acontecimientos que
afectan al sistema.
c) Modelado.- Crear modelos del sistema con el fin de entender mejor el flujo de datos y
control, el tratamiento funcional y el comportamiento operativo y el contenido de la
información.
2.1.1.3. Diseño
Según Pressman, el diseño del software es realmente un proceso de muchos pasos pero que se
clasifican dentro de uno mismo. En general, la actividad del diseño se refiere al
establecimiento de las estructuras de datos, la arquitectura general del software,
representaciones de interfaz y algoritmos. El proceso de diseño traduce requisitos en una
representación de software.
El diseño, es la primera de las tres actividades técnicas que implica un proceso de ingeniería
de software; estas etapas son diseño, codificación y pruebas. Generalmente la fase de diseño
produce un diseño de datos, un diseño arquitectónico, un diseño de interfaz, y un diseño
procedimental.
19
2.1.1.4. Generación de Código
Esta actividad consiste en traducir el diseño, en una forma legible por la máquina. La
generación de código se refiere tanto a la parte de generación de los ambientes virtuales,
como a la parte en la cual se añadirá comportamiento a estos ambientes.
a) Pruebas: Una vez que se ha generado código, comienzan las pruebas del software o
sistema que se ha desarrollado. De acuerdo con Pressman, el proceso de pruebas se centra en
los procesos lógicos internos del software, asegurando que todas las sentencias se han
comprobado, y en los procesos externos funcionales, es decir, la realización de las prueba para
la detección de errores. En el caso de una herramienta de software, es necesario tener etapas
de pruebas tanto para la parte funcional del software, como para la parte aplicativa del mismo.
El modelo está formado por un conjunto de fases o actividades en las que no tienen en cuenta
la naturaleza evolutiva del software, las cuales son:
a) Ciclo de vida También se le conoce como modelo lineal secuencia o modelo en cascada.
Plantea un enfoque sistemático, secuencial para el desarrollo de software, que comienza en un
nivel de sistemas y continúa con el análisis, diseño, codificación, pruebas y mantenimiento.
Este modelo comprende una primera actividad como lo es La Ingeniería y modelado de
20
sistemas / información, en el cual se establece el sistema de nivel superior y se deben
establecer los requisitos de la empresa en la que se encuentra. Los requisitos se recogen del
sistema con una pequeña parte de análisis y diseño
El software al igual que todos los sistemas complejos, evoluciona con el tiempo desarrollando
versiones cada vez más completas y complejas hasta llegar al objetivo deseado incluso
evolucionar más allá durante la fase de la operación. Los requisitos de gestión y de productos
a menudo cambian conforme a que el desarrollo proceda haciendo que el camino que lleva al
producto final no sea real; las estrictas fechas tope del mercado hacen que no sea posible
finalizar un producto completo, por lo que se debe introducir una versión limitada para
cumplir la presión competitiva y de gestión; se comprende perfectamente el conjunto de
21
requisitos de productos centrales o del sistema, pero todavía se tienen que definir los detalles
de extensiones del producto o sistema.
En estas y en otras situaciones similares, los ingenieros del software necesitan un modelo de
proceso que se haya diseñado explícitamente para acomodarse a un producto que evolucione
con el tiempo.
a) Modelo Espiral
b) Evolutivo
c) Incremental n
Son modelos con alto grado de interactividad y solapamiento entre fases, como ser:
a) De agrupamiento
b) Fuente
c) Basado en Componentes
d) Proceso Unificado
22
2.1.2.4 Procesos Agiles
b) Scrum
23
Creada por Jeff Sutherland en 1993, de las metodologías ágiles, es la más utilizada, según una
encuesta publicada por VersionOne en 2010 realizada a 4770 entrevistados de 91 países. La
misma, revela que el 58% de los encuestados, utiliza Scrum como metodología para la gestión
de proyectos de desarrollo de Software.
La Pila de Producto, o Product Backlog, es un artefacto del marco de trabajo para la gestión
agile de proyectos de desarrollo de software, SCRUM. y que es, en líneas generales, una lista
ordenada u priorizada de las tareas que componen un proyecto de aplicación.
24
Aunque SCRUM no lo define, el formato que más se utiliza para la tarjeta de trabajo que
compone una Pila de Producto es la Historia de Usuario. Sin que haya mayores problemas en
utilizar Casos de Uso, o una lista de tareas.
La Pila de Producto, según Scrum, es propiedad del Dueño del Producto. Es decir el cliente
final o su representante. Esto suena un tanto utópico ya que es muy difícil encontrar a un
cliente que le pueda o quiera dedicar el tiempo y dedicación que requiere una gestión Agile de
un proyecto. Las propiedes dependerán siempre del dueño del producto porque visualizara lo
que desea desde el punto cliente.
En este momento el Product Backlog empieza a mostrar sus ventajas. Es un punto inicial para
gerencia, si hubiese que presentar una oferta al cliente, en la estimación en tiempo y dinero
del coste del proyecto. Ya que la definición del alcance la genera el propio cliente, o las
personas que más saben sobre lo que quieren que realice la futura aplicación.
Por otra parte, el equipo adquiere la primera visión del proyecto. Cuál es el objetivo y la
motivación que ha llevado al cliente a pensar en que un desarrollo de software puede ser una
ventaja o una solución a sus necesidades. En definitiva, porque es una mejora.
Y el cliente puede observar de forma visual y cómoda todo el trabajo que representa el
construir su proyecto, decidir las funciones que más valor le aportan y detectar que cosas
puede dejar en duda, por si no fuera necesario o interesante de construir.
25
Otra gran ventaja de utilizar Pilas de Producto es que permite encapsular una metodología
Agile, como Scrum, dentro de un proceso formal de gestión de proyectos. Es decir, puedo
cumplir con los artefactos clásicos de toma de requisitos, análisis funcional, análisis técnico,
etc. Y, simultáneamente construir el Product Backlog (aunque con más esfuerzo) para
empezar a desarrollar y a obtener software que funcione de forma iterativa.
La Product Backlog list es una lista priorizada que define el trabajo que se va a realizar en el
proyecto. Cuando un proyecto comienza es muy difícil tener claro todos los requerimientos
sobre el producto. Sin embargo, suelen surgir los más importantes que casi siempre son más
que suficientes para un Sprint. La Product Backlog List puede crecer y modificarse a medida
que se obtiene más conocimiento acerca del producto y del cliente. Con la restricción de que
solo puede cambiarse entre Sprints. El objetivo es asegurar que el producto definido al
terminar la lista es el más correcto, útil y competitivo posible y para esto la lista debe
acompañar los cambios en el entorno y el producto. Existe un rol asociado con esta lista y es
el de Product Owner. Si alguien quiere realizar cualquier modificación sobre la lista por
ejemplo: agregar o incrementar la prioridad de sus elementos tiene que convencer al Product
Owner.
2.2.1.3 Sprints
El objetivo de un Sprint debe ser expresado en pocas palabras para que sea fácil de recordar y
esté siempre presente en el equipo. Es posible definir una serie de restricciones que el equipo
deba aplicar durante un Sprint.
26
Un Sprint tiene una duración planificada de entre una semana y un mes. No es posible
introducir cambios durante el Sprint, por lo tanto para planificar su duración hay que pensar
en cuanto tiempo puedo comprometerme a mantener los cambios fuera del Sprint.
Dependiendo del tamaño del sistema, la construcción de un release puede llevar entre 3 y 8
Sprints. Por otra parte podrían formarse equipos para desarrollar en forma paralela distintos
grupos de funcionalidad.
El Sprint Backlog Es el punto de entrada de cada Sprint. Es una lista que tiene los ítems de la
Product Backlog List que van a ser implementados en el siguiente Sprint ,cualquier momento
si lo considera necesario para cumplir el objetivo. Pero el Sprint Backlog solo puede ser
modificado por el equipo. Las estimaciones se actualizan cada vez que aparece nueva
información.
Para orquestar este proceso, SCRUM distingue actores con diferentes papeles dentro del
proceso. De forma general, podemos distinguir propietario del producto o Product Owner,
master de scrum o Scrum Mastere, equipo de desarrollo o Scrum Team y cliente o usuario.
El Product Owner es la única persona responsable de delinear el producto más valioso posible
para la fecha deseada. Esto se logra gestionando el flujo de trabajo hacia el equipo, que a su
vez se lleva a cabo seleccionando y refinando ítems del Product Backlog. El Product Owner
mantiene el Product Backlog y asegura que todos sepan qué hay en él y cuáles son las
prioridades. El Product Owner puede ser ayudado por otros individuos pero el rol debe ser
ocupado por una única persona.
27
cuánto trabajo puede ser tomado en un Sprint, y de producir un Incremento de Producto al
finalizar el mismo.
De todas formas, el Product Owner, en Scrum, se encuentra en una posición única. Suele ser
la persona más cercana al “costado del negocio" de todo el proyecto. Es típicamente el
encargado de "sacar el producto" y quien se espera hará el mejor trabajo posible en cuanto a
satisfacer a todas las partes interesadas. El Product Owner lleva adelante esta tarea mediante
la gestión del Product Backlog y asegurándose que el Product Backlog y el avance contra éste
se mantengan visibles.
El Product Owner, al decidir sobre qué debe hacer y qué posponer el Equipo de Desarrollo,
toma las decisiones de alcance versus fechas que llevan al mejor producto posible.
El Scrum Master es un "líder servicial", que ayuda al resto del equipo Scrum a seguir su
proceso. Debe tener una buena comprensión de Scrum y la habilidad de capacitar a otros en
sus sutilezas, trabaja junto al Product Owner para que éste logre crear y mantener el Product
Backlog, junto al equipo de desarrollo para encontrar e implementar las prácticas técnicas que
les permitirán tener un Incremento de producto 'Hecho' al final de cada Sprint. También
trabaja con el Equipo Scrum completo para evolucionar la definición de hecho.
Asi también fomenta el auto organización. Los problemas deben ser resueltos por el equipo
siempre que sea posible. El Scrum Master actúa como coach para el Equipo Scrum, ayudando
a sus miembros a ejecutar el proceso Scrum. Los ayuda a trabajar juntos y a aprender el
framework Scrum, al tiempo que los protege de distracciones tanto internas como externas.
28
Puede facilitar reuniones y ayuda a mantener al equipo Scrum en el buen camino, productivo
y creciendo en sus capacidades, es responsable de asegurar que Scrum sea comprendido e
implementado, tanto dentro como fuera del equipo. Ayuda a personas fuera del equipo a
entender el proceso y a comprender qué interacciones con el equipo son valiosas y cuáles no.
Idealmente, se recomienda que el Team esté formado por no más de siete personas. A medida
que el Team aumenta en cantidad de personas, aumenta la posibilidad que el Team no
funcione como tal, dado que habrá miembros que perderán la motivación y el compromiso
necesario para el correcto funcionamiento del Team.
En algunas situaciones, cuando se cuente con un Team formado por más de diez personas, es
recomendable dividir este equipo en distintos sub equipos. La subdivisión puede hacerse
según las responsabilidades (un equipo de desarrolladores, un equipo de qa, un equipo de
29
analistas funcionales) o según las necesidades del negocio en sub equipos que incluyan todos
los roles.
La composición del Team es algo que no puede ser absoluta, dado que cada proyecto de
software tiene sus propias características. Es decir algunos proyectos necesitarán mayor
presencia de personas para ocupar ciertos roles que otros. Por ejemplo, en un proyecto
relacionado a data Ming, es necesario contar con algún experto en dicha tecnología y un
administrador de bases de datos, pero en un proyecto empresarial estos roles pueden no ser
necesarios.
Existe la posibilidad que el objetivo de un sprint sea “Encontrar la mayor cantidad de fallas en
el sistema”, con lo cual en ese caso, el Team puede estar formado solamente por personal de
testing el objetivo de este último es averiguar en qué medida una persona se adecua a un
puesto de trabajo determinado es una prueba más del proceso de selección.
También puede ser factible, que el objetivo de un sprint sea “Presentar el diseño de la
refactorización necesaria para utilizar una nueva librería de un tercero”, por lo tanto en ese
caso, es muy probable que el Team esté formado por un grupo de arquitectos, diseñadores y
desarrolladores sin contar con analistas funcionales ni personal de testing. Existen diferentes
técnicas que permiten esta colaboración, desde el Scrum de Scrums hasta equipos de
integración que dedican parte del trabajo trabajo que será trabajado en equipo. Luna, 2000.
30
Una vez que conocimos SCRUM distinguimos actores con diferentes papeles dentro del
proceso. De forma general, podemos distinguir tal como se ve en la Figura 2.1
El proceso comienza con la fase de Pre-game, en la que se realiza de forma conjunta con el
cliente una definición sencilla y clara de las características que debe tener el sistema que vaya
a ser desarrollado, definiendo las historias de usuario que van a guiar el proceso de desarrollo
la cual incluye dos sub-fases:
31
• Planning Consiste en la definición del sistema que será construido. Para esto se crea la
lista Product Backlog a partir del conocimiento que actualmente se tiene del sistema. En ella
se expresan los requerimientos priorizados y a partir de ella se estima
• Architecture El diseño de alto nivel del sistema se planifica a partir de los elementos
existentes en la Product Backlog List. En caso de que el producto a construir sea una mejora a
un sistema ya existente, se identifican los cambios necesarios para implementar los elementos
que aparecen en la lista Product Backlog y el impacto que pueden tener estos cambios. Se
sostiene una Design Review Meeting para examinar los objetivos de la implementación y
tomar decisiones a partir de la revisión. Se preparan planes preliminares sobre el contenido de
cada release.
2.2.3.2 Game
La fase llamada Game es la parte ágil del Scrum, en esta fase se espera que ocurran cosas
impredecibles. Para evitar el caos Scrum define prácticas para observar y controlar las
variables técnicas y del entorno, así también como la metodología de desarrollo que hayan
sido identificadas y puedan cambiar. Este control se realiza durante los Sprints. Dentro de
variables de entorno encontramos: tiempo, calidad, requerimientos, recursos, tecnologías y
herramientas de implementación. En lugar de tenerlas en consideración al comienzo del
desarrollo, Scrum propone controlarlas constantemente para poder adaptarse a los cambios en
forma flexible.
El Post-Game es la fase que contiene el cierre del release. Para ingresar a esta fase se debe
llegar a un acuerdo respecto a las variables del entorno por ejemplo que los requerimientos
32
fueron completados. El sistema está listo para ser liberado y es en esta etapa en la que se
realiza integración, pruebas del sistema y documentación. Vemos que el post-game en los
proyectos debe concluir satisfactoriamente a los días , tiempo establecido el análisis que se da
a conocer es siempre evaluado a todo lo investigado priorisado a detalle en el código dando
lugar al testeo casi exacto que cuan agil surgio la utilidad de la metodología .
El sprint es por tanto el núcleo central que proporciona la base de desarrollo iterativo e
incremental tal como se ve en la Figura 2.1
33
Los elementos que conforman el desarrollo Scrum son:
Las reuniones este elemento es el inicio al desarrollo de uso del Scrum implementando y
ejecutando todo en cuanto a cada reunión se detallara , detalle que será escrito acorde a la
empre u cualquier otra entidad.
Reunión diaria: Breve revisión del equipo del trabajo realizado hasta la fecha y la previsión
para el día siguiente.
Revisión de sprint: Análisis y revisión del incremento generado. Pila del producto: lista de
requisitos de usuario que se origina con la visión inicial del producto y va creciendo y
evolucionando durante el desarrollo.
Pila del sprint: Lista de los trabajos que debe realizar el equipo durante el sprint para generar
el incremento previsto.
Scrum controla de forma empírica y adaptable la evolución del proyecto, empleando las
siguientes prácticas de la gestión ágil:
Al finalizar cada iteración se lleva a cabo una revisión con todas las personas implicadas en el
proyecto. Este es el periodo máximo que se tarda en reconducir una desviación en el proyecto
o en las circunstancias del producto.
• Desarrollo incremental
34
Durante el proyecto, las personas implicadas no trabajan con diseños o abstracciones. El
desarrollo incremental implica que al final de cada iteración se dispone de una parte del
producto operativa que se puede inspeccionar y evaluar.
• Desarrollo evolutivo
• Auto-organización
Durante el desarrollo de un proyecto son muchos los factores impredecibles que surgen en
todas las áreas y niveles. La gestión predictiva confía la responsabilidad de su resolución al
gestor de proyectos. En Scrum los equipos son auto-organizados (no autodirigidos), con
margen de decisión suficiente para tomar las decisiones que consideren oportunas.
• Colaboración
Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Ésta es
necesaria, porque para que funcione el auto organización como un control eficaz cada
miembro del equipo debe colaborar de forma abierta con los demás, según sus capacidades y
no según su rol o su puesto.
La ingeniería web se debe al crecimiento desenfrenado que está teniendo la Web está
ocasionando un impacto en la sociedad y el nuevo manejo que se le está dando a la
información en las diferentes áreas en que se presenta ha hecho que las personas tiendan a
realizar todas sus actividades por esta vía.
35
El desarrollo de aplicaciones Web posee determinadas características que lo hacen diferente
del desarrollo de aplicaciones o software tradicional y sistemas de información.
Es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta
calidad. Esta breve definición nos lleva a abordar un aspecto clave de cualquier proyecto
como es determinar qué tipo de proceso es más adecuado en función de las características del
mismo. El desarrollo de aplicaciones Web posee determinadas características que lo hacen
diferente del desarrollo de aplicaciones o software tradicional y sistemas de información. La
ingeniería de la Web es multidisciplinar.
Según Pressman, las actividades que formarían parte del marco de trabajo incluirían las tareas
abajo mencionadas. Dichas tareas serían aplicables a cualquier aplicación Web,
independientemente del tamaño y complejidad de la misma.
La comunicación con el cliente se caracteriza por medio de dos grandes tareas: el análisis del
negocio y la formulación. El análisis del negocio define el contexto empresarial organizativo
para las WebApps y otras aplicaciones de negocio. La formulación es una actividad de
recopilación de requisitos que involucran a todos los participantes.
Planeación: Se crea el plan del proyecto para el incremento de la WebApp. El plan consiste de
una definición de tareas y un calendario de plazos respecto al período establecido para el
desarrollo del proyecto.
36
modelado de la IWeb. El intento es desarrollar análisis rápido y modelos de diseño que
definan requisitos y al mismo tiempo representen una WebApp que los satisfará.
Además la red mundial Internet y sus elementos asociados son mecanismos ágiles que
proveen una alta gama de posibilidades de comunicación, interacción y entretenimiento, tales
como elementos de multimedia, foros, chat, correo, comunidades, bibliotecas virtuales entre
otros que pueden ser accedidos por todo tipo de público. Sin embargo estos elementos deben
contener mecanismos que protejan y reduzcan los riesgos de seguridad alojados, distribuidos
y potencializados a través del mismo servicio de Internet.
37
• Integridad: garantizar que los datos sean los que se supone que son
• Confidencialidad: asegurar que sólo los individuos autorizados tengan acceso a los
recursos que se intercambian
• Autenticación: asegurar que las entidades que se comunican son los que dicen que son.
Según ROMERO, 2011 las prácticas básicas al desarrollar una aplicación web deben ser:
38
c) Filtrar Entradas El filtrado es una de las piedras angulares de la seguridad en
aplicaciones web. Es el proceso por el cual se prueba la validez de los datos. Si nos
aseguramos que los datos son filtrados apropiadamente al entrar, podemos eliminar el riesgo
de que datos contaminados y que reciben confianza indebida sean usados para provocar
funcionamientos no deseados en la aplicación.
La propuesta de Ingeniería Web basada en UML (UWE (Koch, 2000)) es una metodología
detallada para el proceso de autoría de aplicaciones con una definición exhaustiva del proceso
de diseño que debe ser utilizado. Este proceso, iterativo e incremental, incluye flujos de
trabajo y puntos de control, y sus fases coinciden con las propuestas en el Proceso Unificado
de Modelado.
39
y método de autoría de UWE son el uso del paradigma orientado a objetos, su orientación al
usuario, la definición de una meta-modelo (modelo de referencia) que da soporte al método y
el grado de formalismo que alcanza debido al soporte que proporciona para la definición de
restricciones sobre los modelos. Entonces vemos que UWE tiene como objetivo principal el
de detallar su proceso de desarrollo cubriendo todo el ciclo de vida.
Las fases de la metodología UWE, son procesos o actividades que se utilizan y permiten
identificar las necesidades de las aplicaciones y/o sistema web a desarrollar; cubriendo todo
el ciclo de vida de la aplicación centrando además su atención en aplicaciones personalizadas
o adaptativas. Estas actividades se describen y representan en cuatro fases que son:
Trata de diferente forma las necesidades de información, las necesidades de navegación, las
necesidades de adaptación y las de interfaz de usuario, así como algunos requisitos
adicionales. Centra el trabajo en el estudio de los casos de uso, la generación de los glosarios
y el prototipado del interfaz de usuario.
40
En la siguiente figura 2.3. Se puede observar un ejemplo de diagrama de casos de uso y su
relación.
En el presente proyecto solo se harán los casos de uso de la aplicación y sus relaciones, ya que
son suficientes para el entendimiento del cliente.
41
Figura 2.4. Diagrama de casos de uso de alto nivel del Negocio
Fuente: INCADEX S.R.L. ,2016
Esta fase de análisis de requisitos me ayuda a describir los elementos involucrados que están
descritos en los casos de uso, permitiéndonos aclarar él porque de su existencia, a través de
actores participes y comprendidos con su respectivo rol dentro del negocio.
42
En la figura 2.5 se puede observar un ejemplo de diagrama de contenido.
• El modelo de espacio de navegación que especifica qué objetos pueden ser visitados a
través El modelo de estructura de navegación que define como se alcanzan estos objetos a
través de la Web.
43
• En el proceso de construir el modelo espacial de navegación las decisiones del diseñador
están basadas en el modelo conceptual y los requisitos de la aplicación definidos en el modo
de caso de uso.
• El modelo de estructura de navegación que define como se alcanzan estos objetos a través
de la Web.
Cuando hablamos de un sistema web, es necesario conocer la relación y los enlaces entre las
páginas web, es por eso que en la fase de diseño describen a través de diagramas la
navegación del sistema como muestra la tabla 2.1:
44
En la figura a continuación se muestra un ejemplo del diseño de navegación:
Este modelo permite una visión amplia de los procesos de la página web que se representan
en los diagramas de navegación; pueden interpretarse también con las interfaces del sistema
web, para el caso se tiene estereotipos o iconos que ayudan al diseño de los diagramas de
presentación.
45
El diagrama de presentación de la metodología UWE, permite al usuario comprender y
analizar, sobre el área de trabajo al que se someterá con la implantación del sistema. En la
siguiente tabla veremos el uso de cada estereotipo.
46
En la siguiente figura, se muestra la aplicación de los iconos que pertenecen a los diagramas
de presentación.
47
Por lo tanto en otras palabras podemos decir que una base de datos es un conjunto
estructurado de datos que representa entidades y sus interrelaciones.
Una base de datos relacional es un conjunto de tablas que contienen datos provistos en
categorías predefinidas. Cada tabla (que a veces se llaman 'relación') contiene una o más
categorías de datos en columnas. Cada fila contiene una instancia única de datos para las
categorías definidas por las columnas.
Existe un tipo de software exclusivamente dedicado a tratar con bases de datos relacionales,
conocido como Sistema de Gestión de Bases de Datos Relacionales (SGBDR, o RDBMS del
inglés Relational Database Management System), también llamados manejadores o gestores
de las BDR.
• MySQL.
• PostgreSQL.
• Oracle.
• DB2.
2.5.1.2. PostgreSQL
PostgreSQL sistema de bases de datos relacionales basado en Open Source. Esto quiere decir
que el código fuente del programa está disponible a cualquier persona libre de cargos directos,
permitiendo a cualquiera colaborar con el desarrollo del proyecto o modificar el sistema para
48
ajustarlo a sus necesidades. PostgreSQL está bajo licencia BSD. Un sistema de base de datos
relacionales es un sistema que permite la manipulación de acuerdo con las reglas del ´algebra
relacional. Los datos se almacenan en tablas de columnas y renglones. Con el uso de llaves,
esas tablas se pueden relacionar unas con otras.
PostgreSQL se caracteriza por ser un sistema estable, de alto rendimiento, gran flexibilidad ya
que funcionar la mayoría de los sistemas Unix, además tiene características que permiten
extender fácilmente el sistema. PostgreSQL puede ser integrada al ambiente Windows
permitiendo de esta manera a los desarrolladores, generar nuevas aplicaciones o mantener las
ya existentes. Permite desarrollar o migrar aplicaciones desde Access, Visual Basic, Foxpro,
Visual Foxpro, C/C++ Visual C/C++, Delphi, etc., para que utilicen a PostgreSQL como
servidor de BD; Por lo expuesto PostgreSQL se convierte en una gran alternativa al momento
de decidirse por un sistema de bases de datos.
2.5.2. ORM
Una tecnología web es una tecnología que utiliza todas las tecnologías de inter conectividad
de ordenadores que permite a los usuarios el intercambio, en formato de hipertexto, de todo
49
tipo de datos e información (Texto, imágenes, sonido) y de aplicaciones de software. Soncco,
2008.
2.6.1 Python
Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que
favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que
soporta orientación a objetos, programación imperativa y, en menor medida, programación
funcional. En Python, la definición de funciones se realiza mediante la instrucción.
2.6.3. Bootstrap
Bootstrap fue desarrollado por Mark Otto y Jacob Thornton en Twitter, y lanzado como un
producto de código abierto en agosto de 2011 en GitHub. Bootstrap es un framework para
desarrollar código HTML y CSS más rápido y fácil en el front-end (lado del cliente) de las
páginas web. Bootstrap incluye plantillas HTML y CSS para el diseño, las plantillas tienen
código reutilizable para las caracterizas más importantes de un sitio web como ser la
tipografía, los formularios, los botones, las tablas, los enlaces, los modales, carruseles de
imágenes y muchas otras, así como plugins de JavaScript opcionales. W3schools, 2015.
Con Bootstrap el diseño web es Responsive, es decir se puede diseñar sitios web que se
ajusten automáticamente a sí mismos para que se visualicen bien en todos los dispositivos,
como Smart phones (celulares), tablets, laptops y ordenadores de escritorio. Además bootstrap
es compatible con todos los navegadores modernos (Chrome, Firefox, Internet Explorer,
Safari y Opera). Y se puede descargar libremente desde su pagina oficial.
2.7. Inventarios
50
tiene un papel vital para funcionamiento acorde y coherente dentro
del proceso de producción y de esta forma afrontar la demanda.Luna,2001
Los inventarios de una compañía están constituidos por sus materias primas, sus productos en
proceso, los suministros que utiliza en sus operaciones y los productos terminados. Un
inventario puede ser algo tan elemental, complejo, como una combinación de materias primas
que forman parte de un proceso de manufactura. Müller, 2000.
Lo conforman todos los materiales con los que se elaboran los productos, pero que todavía no
han recibido procesamiento.
Lo integran todos aquellos bienes adquiridos por las empresas manufactureras o industriales,
los cuales se encuentran en proceso de manufactura. Su cuantificación se hace por la cantidad
de materiales, mano de obra y gastos de fabricación, aplicables a la fecha de cierre.
Son todos aquellos bienes adquiridos por las empresas manufactureras o industriales, los
cuales son transformados para ser vendidos como productos elaborados.
El control del inventario es uno de los aspectos de la administración bienes tangibles que se
tienen para la venta en el curso ordinario del negocio o para ser consumidos en la producción
de bienes o servicios para su posterior comercialización. Los inventarios comprenden, además
de las materias primas, productos en proceso y productos terminados o mercancías para la
venta, los materiales, repuestos y accesorios para ser consumidos en la producción de bienes
51
fabricados para la venta o en la prestación de servicios; empaques y envases, y los inventarios
en tránsito. La base de toda empresa comercial es la compra y venta de bienes o servicios; de
aquí la importancia del manejo del inventario por parte de la misma. Este manejo contable
permitirá a la empresa mantener el control oportunamente, así como también conocer al final
del período contable un estado confiable de la situación económica de la empresa. Ahora bien,
el inventario constituye las partidas del activo corriente que están listas para la venta, es decir,
toda aquella mercancía que posee una empresa en el almacén valorada al costo de adquisición,
para la venta o actividades productivas. Los diversos aspectos de la responsabilidad sobre los
inventarios afectan a muchos departamentos y cada uno de éstos ejerce cierto grado de control
sobre los productos, a medida que los mismos se mueven a través de los distintos procesos de
inventarios. Todos estos controles que abarcan, desde el procedimiento para desarrollar
presupuestos y pronósticos de ventas y producción hasta la operación de un sistema de costo
Pro el departamento de contabilidad para la determinación de costos de los inventarios,
constituye el sistema del control interno de los inventarios, las funciones generales son:
Planeamiento, compra u obtención, recepción, almacenaje, producción, embarques y
contabilidad . Chauvel, 1995.
2.7.3. Manufacturación
52
2.7.3.1. Compra u Obtención
2.7.3.2. Recepción
a) La aceptación de los materiales recibidos, después que estos hayan sido debidamente
contados, inspeccionados en cuanto a su calidad y comparados con una copia aprobada de la
orden de compra.
c) La entrega o envío de las partidas recibidas, a los almacenes (depósitos) u otros lugares
determinados. Como precaución contra la apropiación indebida de activos.
2.7.4. Almacenaje
Las materias primas disponibles para ser procesadas o armadas (ensambladas), así como los
productos terminados, etc., pueden encontrarse bajo la custodia de un departamento de
almacenes. La responsabilidad sobre los inventarios en los almacenes incluye lo siguiente:
a) Comprobación de las cantidades que se reciben para determinar que son correcta.
53
b) Facilitar almacenaje adecuado, como medida de protección contra los elementos y las
extracciones no autorizadas.
2.7.5. Producción
Los materiales en proceso se encuentran, generalmente bajo control físico, control interno de
los inventarios, incluye lo siguiente:
Todos los embarques, incluyéndose aquellas partidas que no forman parte de los inventarios,
deben efectuarse, preferiblemente, a base de órdenes de embarque, debidamente aprobadas y
preparadas independientemente.
Producto terminado realizado por la misma empresa y todas las demás productoras de
alimentos en el caso actual realizan un proceso largo para la conclusión de estos determinando
el envió previo.
54
Capítulo 3
Marco aplicativo
3.1. Introducción
El presente capítulo, tiene como finalidad describir el desarrollo del Sistema Web de control
de inventarios, manufacturación y producto final para la empresa industrial comercial de
alimentos INCADEX S.R.L. Haciendo uso de la metodología Scrum como se describió en el
anterior capitulo tiene como función la realización del proyecto partiendo de una lista de
tareas a realizar, para la gestión de desarrollo del sistema y la metodología UWE para el
modelado.
Por esta razón el trabajo se ha dividido en una serie de Sprints teniendo como las siguientes
fases: Pre-Game, Game, Post-Game. Gráficamente el modelo a desarrollar en este largo
proceso que se realizara con la ayuda de Scrum ya mencionado en el anterior capitulo, esté
proceso me ayudara a mantener los roles y sprint en orden que daré a conocer a continuación
en la figura 3.1 se puede observar.
Planeamiento Pruebas de
Integración
Sprint
Produc Backlog
Backlog
Pruebas de
Diseño de la
55
Arquitectura Sistema
Sprint
UWE
3.2 Pre-Game
ROL NOMBRE
Analista
56
SCRUM Diseñador Mónica Carmen Mendoza Roque
TEAM
Desarrollador
Testeador
Para poder empezar a realizar las iteraciones primero necesitamos definir nuestra Lista de
requisitos priorizada (Product Backlog), para esto fue necesario realizar reuniones entre el
cliente (Product Owner), el líder de equipo (Scrum master) y el equipo de desarrollo (Team).
En este caso la función de cliente lo cumplió el Lic. Marcos Vera al asumir las reuniones que
se tuvo brindando asi la información necesaria. Para poder obtener el Product Backlog se
entrevistó al cliente, preguntándole el proceso actual que se tiene para obtener los registros de
todos los inventarios y proceso de elaboración, este de manera verbal ,dijo que el control de
los inventarios eran siempre a base de cada pedido que llegaban y salía del mismo lugar
almacenado a través de reportes que eran notificados por el almacenero u/o proveedor ,el
ingreso de cada materia prima y la salida decía era siempre a base de cantidades que
ordenaban las diversas recetas de proceso actual que se pedían para así obtener un producto
terminado . Se le pregunto también el proceso de elaboración de los productos .Una vez que
los materiales son registrados ya sea de manera verbal o escrita, los pedidos al inicio de
preparado de chocolate son pedidos acorde a las recetas de preparación, los encargados y
responsables de cada sección de trabajo tienen como fin supervisar y enviar datos a la hora de
ya ser procesados. Muchas veces no siempre se llega a lo estimado de lo pedido producto
57
terminado ya sea por el tiempo, espacio y/o personal. Viendo los detalles que el cliente
proporciono se hizo un análisis de como recolectar la información de los beneficiarios, y en
otra reunión se construyó junto al cliente la siguiente lista de requisitos:
58
personal por su id
correspondiente
59
por su id
correspondiente.
Observar todos los
materiales por
defecto en la
página inicial.
M2 Productos
ingresar un
nuevo
producto,
modificar al
producto,
eliminar al
producto, y
mostrar
producto por
su id
correspondient
e. Observar
todos los
productos por
defecto en la
60
página inicial.
61
defecto en la
página inicial.
62
materiale
s,
producto
s,
recetas.
terminado en el botón
reporte, una
cliqueada se
generará un
63
documento
resultante en
PDF, de la
consulta
observada.
Procesador
64
Navegador en Html5
3.3 Game
Para la planificación solo se usara el sprint backlog el cual es una herramienta de SCRUM,
luego para la parte de desarrollo se hará uso de los diagramas que proporciona la metodología
UWE y codificar si es necesario para obtener incrementos, y al finalizar el sprint se harán las
pruebas unitarias del mismo, todo el proceso de los 4 módulos serán evaluados acorde a lo
que se dijo y se mencionó detallando en cada reunión los diversos requerimiento y procesos
que la misma empresa lleva consigo.
65
3.3.1 Desarrollo del Sprint 1: Módulo de Personal
Según la metodología del Scrum, el inicio del proyecto se realizó con la reunión de
planificación del primer sprint, el sprint número 1. Un factor importante a considerar es que
en esta reunión, al igual que en la mayor parte del proyecto, la comunicación con los usuarios
se realizó de forma irregular debido a la imposibilidad que tienen los doctores para
encontrarse físicamente en el lugar del desarrollo. No obstante, el autor de este proyecto actuó
presente durante todo el desarrollo, el Product Owner, tenía todo el conocimiento necesario
para tomar las decisiones de los usuarios.
Durante el primer sprint se llevara a cabo los iniciales requerimientos que pertenecen al
módulo de inicio de sesión. En la siguiente tabla se muestran las tareas planificadas para este
Sprint y que fueron concluidas como se muestra a continuación.
1 99 20 días hábiles
SPRINT BACKLOG
66
Planificación y Desarrollo 30 Hecho
análisis de los hr/pr
requerimientos og
del sprint
67
de inicio de
sesión
68
En este sprint se observa el inicio de sesión del usuario en este caso el registro del almacenero
en el momento de ingresar al sistema
ACTORES Administrador
REFERENCIAS NINGUNA
CRUZADAS
El administrador ingresa al
sistema a través de la
URL, e ingresando al
sistema mediante el log in
del sistema como
administrador.
69
El sistema valida los datos una
vez llenado el formulario de Log
In, una vez ingresado los datos
correctos, te envía a la página de
inicio
En la página de inicio
ingresar dentro del menú al
enlace de página de registro
de almacenero.
70
PRECONDICIÓN Debe de existir la base de datos con la tabla correspondiente a
almacenero
El diseño navegacional muestra las opciones de navegación y procesos que el sistema tendrá
en su desarrollo. Ver figura:
71
3.3.1.4 Diseño de Presentación
72
Figura 3.5 Página de Inicio
Fuente Elaboración Propia
Ahora observar la página de inicio a la cual tendrá acceso el administrador para ver los
servicios que ofrece el sistema caso registro de personal.
Registro de personal
d
s
f
73
A continuación se muestra el registro de personal y/o listado de empleado.
74
Prueba #1 Modulo de Personal
2. Abrir el sistema
El trabajo del sprint 2 avanzo a buen ritmo ajustándose de un modo más aproximado a la
planificación planteada, hecho que acrecentó la motivación. Las reuniones realizadas por el
administrador y almacenero dieron como resultado una organización de ideas de trabajo de
este sprint avanzo a buen ritmo ajustándose de un modo más aproximado.
75
3.3.2.1 Planificación del Sprint 2 Inventario
2 52 10 días hábiles
SPRINT BACKLOG
76
Modificación de Materia Desarrollo 7 h/prog Mostar formulario para
Prima posterior modificación
del material
Herramientas existentes
77
Búsqueda de herramientas Desarrollo 5 h/prog Mostrará los campos de
BD. En un formato
estético.
Visualizamos en los casos de uso el inventario el cual será el que registre los productos
entrantes y salientes del almacén es decir la materia prima y herramientas que procesen el
preparado de chocolate.
78
Casos de uso registro de herramientas.
Así como la materia prima es lo más fundamental para la elaboración de productos, el manejo
proceso de los mismos será mediante las herramientas, registros de la misma explicara en la
siguiente tabla se muestra el Sprint Backlog para este módulo.
79
PROPÓSITO Realizar la creación correspondiente de los datos de
materia prima, además de la modificación, eliminación
de materia prima.
REFERENCIAS
CRUZADAS
Ingresa el usuario a la
pestaña de materia prima
El sistema muestra el
listado de almacenes, con
un botón de crear uno
nuevo, los registros de
almacenes con su
respectivo botón de
eliminar, modificar y vista
Si el usuario presiona en
crear uno nuevo
80
El sistema muestra la
página correspondiente a
la adición de materia
prima, con un formulario
para llenar seguido de un
botón de guardar
El sistema responde
enviándole a la página de
listado de almacenes,
donde además contiene un
botón de modificar, un
botón eliminar y un botón
de vista detallada de la
materia prima.
Si el usuario presionar
modificar
El sistema le envía a la
página de creación de
materia prima con los
campos correspondientes
81
llenados con la
información vigente, y con
el botón guardar.
Posteriormente le envía a
la página de listado de
materia prima
Si el usuario presiona
eliminar
El sistema envía un
mensaje de que si está
seguro de eliminar el
registro.
En caso de presionar si
El sistema elimina el
registro de la base de
datos.
82
Si el usuario presiona el
botón de vista
El sistema muestra el
registro la información de
la materia prima según lo
que es esta registrado en la
base de datos.
83
PROPÓSITO Realizar la creación correspondiente de los datos de
herramienta, además de la modificación, eliminación de
herramienta.
REFERENCIAS
CRUZADAS
Ingresa el usuario a la
pestaña de herramienta
El sistema muestra el
listado de almacenes, con
un botón de crear uno
nuevo, los registros de
almacenes con su
respectivo botón de
eliminar, modificar y vista
Si el usuario presiona en
crear uno nuevo
84
El sistema muestra la
página correspondiente a
la adición de herramienta,
con un formulario para
llenar seguido de un botón
de guardar
El sistema responde
enviándole a la página de
listado de almacenes,
donde además contiene un
botón de modificar, un
botón eliminar y un botón
de vista detallada de la
herramienta.
Si el usuario presionar
modificar
El sistema le envía a la
página de creación de
herramienta con los
campos correspondientes
85
llenados con la
información vigente, y con
el botón guardar.
Posteriormente le envía a
la página de listado de
herramientas
Si el usuario presiona
eliminar
El sistema envía un
mensaje de que si está
seguro de eliminar el
registro.
En caso de presionar si
El sistema elimina el
registro de la base de
datos.
86
Si el usuario presiona el
botón de vista
El sistema muestra el
registro la información de
la herramienta según lo
que es esta registrado en la
base de datos.
El diseño navegacional muestra las opciones de navegación y procesos que el sistema tendrá
en su desarrollo. Ver figura:
87
Figura 3.11 Modelo de navegación materia prima, herramienta
Fuente Elaboración Propia
88
Figura 3.12 Modelo de presentación de Inventarios
Fuente Elaboración Propia
89
Figura 3.13 Registro de Materia Prima y Herramientas
Fuente Elaboración propia
2. Abrir el sistema
3. Ingresar a Inventario
90
Conexión a internet desde cualquier medio (Pc, Celular,
Condiciones
iPhone, Tablet).
En este módulo vemos el listado amplio que podría tener nuestras diversas recetas a la hora de
ser registradas, se decía en las reuniones obtenidas que el proceso y tiempo de la preparación,
moldeado y control de calidad será acorde a las recetas ,a continuación veremos el registro
que estas tendrán en su proceso .
La planificación que dispone y el intervalo que tenga las recetas siempre serán acorde a lo
pedido, pedido como ser producto terminado destinado y distribuido hacia las diversas
sucursales de venta. La entrevista dio como fruto al orden de registro de cada una de ellas que
primaban a la hora de ser puestos en la mezcla de cada ingrediente.
3 53 12 días hábiles
91
SPRINT BACKLOG
92
Proceso de Receta Desarrollo 15 h/prog Mostrará la elaboración
cantidad tiempo de
preparado
93
Registro de la gama variada de receta de la empresa:
ACTORES Administrador
REFERENCIAS
CRUZADAS
Ingresa el usuario a la
pestaña de receta
El sistema muestra el
listado de almacenes, con
un botón de crear uno
nuevo, los registros de
almacenes con su
respectivo botón de
eliminar, modificar y vista
94
Si el usuario presiona en
crear uno nuevo
El sistema muestra la
página correspondiente a
la adición de receta, con
un formulario para llenar
seguido de un botón de
guardar
El sistema responde
enviándole a la página de
listado de almacenes,
donde además contiene un
botón de modificar, un
botón eliminar y un botón
de vista detallada de la
receta.
Si el usuario presionar
modificar
95
El sistema le envía a la
página de creación de
receta con los campos
correspondientes llenados
con la información
vigente, y con el botón
guardar.
Posteriormente le envía a
la página de listado de
recetas
Si el usuario presiona
eliminar
El sistema envía un
mensaje de que si está
seguro de eliminar el
registro.
En caso de presionar si
96
El sistema elimina el
registro de la base de
datos.
Si el usuario presiona
el botón de vista
El sistema muestra el
registro la información
de la receta según lo
que es esta registrado
en la base de datos.
El diseño navegacional muestra las opciones de navegación y procesos que el sistema tendrá
en su desarrollo. Ver figura:
97
Figura 3.15. Diseño navegacional del sprint 3
Fuente elaboración propia
98
3.3.3.4 Diseño de Presentación de Sprint 3: Manufacturación
99
3.3.3.5 Pantallas de Sprint 3 Manufacturación
100
Objetivos 1. Que ingrese al sistema al presionar ingresar
2. Abrir el sistema
Este desarrollo tuvo reuniones acertadas ya que conocimos más de la producción pero en esta
ocasión terminada es decir el proceso largo que dimos a conocer desde el módulo 1, modulo
2, modulo 3 implicaban una elaboración minuciosa de los chocolates la evaluación fue
realizada acorde a los tiempo y cantidades, la culminación de la misma da ra a conocerse en
un listado de producto termina el cual tendrá un proceso de distribución a las diversas
agencias que tiene la empresa.
La planificación del módulo 4 dio lugar a un listado general de los productos que ponían fin
a su elaboración y ya estaban evaluados a la salida de la empresa a la venta.a continuación
detallaremos en la siguiente tabla como dio lugar al armado del modulo 4 en el bien de la
empresa:
101
Sprint 4: Modulo de Listado del Producto Final
4 26 10 días hábiles
SPRINT BACKLOG
102
Búsqueda de Desarrollo 5 h/prog Mostrará los campos de
Producto final BD. En un formato estético.
103
NOMBRE 4.REGISTRAR PRODUCTO FINAL
REFERENCIAS
CRUZADAS
Ingresa el usuario a la
pestaña de producto
El sistema muestra el
listado de almacenes,
con un botón de crear
uno nuevo, los registros
de almacenes con su
respectivo botón de
104
eliminar, modificar y
vista
Si el usuario presiona en
crear uno nuevo
El sistema muestra la
página correspondiente a
la adición de producto,
con un formulario para
llenar seguido de un
botón de guardar
El sistema responde
enviándole a la página
de listado de almacenes,
donde además contiene
un botón de modificar,
un botón eliminar y un
botón de vista detallada
del producto.
105
Si el usuario presionar
modificar
El sistema le envía a la
página de creación de
producto con los campos
correspondientes
llenados con la
información vigente, y
con el botón guardar.
Posteriormente le envía a
la página de listado de
productos
Si el usuario presiona
eliminar
El sistema envía un
mensaje de que si está
seguro de eliminar el
registro.
106
En caso de presionar si
El sistema elimina el
registro de la base de
datos.
Si el usuario presiona el
botón de vista
El sistema muestra el
registro la información
del producto según lo que
es esta registrado en la
base de datos.
107
3.3.4.3 Diagrama de Casos de Uso del Negocio
108
3.3.4.4 Diagrama de Clases del Modelo de Negocio
El diagrama de clases mostrara el modelo de negocio general el mismo incluirá los 4 módulos
existentes pero en visión de negocio:
109
3.3.4.5. Diagrama Entidad Relación del Modelo de Negocio
110
3.3.3.6 Prueba Modulo 4 Producto final
2. Abrir el sistema
111
3.4 Fase del Post – Game
Pruebas integrales o pruebas de integración son aquellas que se realizan en el ámbito del
desarrollo de software una vez que se han aprobado las pruebas unitarias. Únicamente se
refieren a la prueba o pruebas de todos los elementos unitarios que componen un proceso,
Modulo Resultado
112
Este tipo de prueba se realiza para determinar la solidez de la aplicación en los momentos de
carga extrema y ayuda a los administradores para determinar si la aplicación rendirá lo
suficiente en caso de que la carga real supere a la carga esperada. Estas pruebas fueron
realizadas en Webserver stress tool.
La siguiente figura nos muestra la transferencia de datos y el tiempo de respuesta del sistema
a las peticiones del usuario.
La línea roja nos indica los tiempos de petición del usuario, la línea verde nos indica el tiempo
de respuesta del servidor, la línea celeste representa el tiempo de recibo de respuesta del
servidor, y la línea azul representa el tráfico de datos de kb/s del servidor.
113
Figura 3.23 Capacidad de carga del sistema
Fuente: Elaboración propia
Po lo tanto el sistema web con la simulación realizada con usuarios virtuales, se puede
concluir que la capacidad de tiempo de respuesta es estable con cada usuario, además de que
el servidor es capaz de responder a un máximo de 900 usuarios activos simultáneamente y que
el tiempo y usuarios mínimos aceptables es de que en 30 segundos con la capacidad de 400
usuarios activos simultáneamente.
114
Capítulo IV
Calidad y Seguridad
En todo sistema es necesario conocer la calidad del mismo, debido a que este es un factor muy
importante para el buen funcionamiento del mismo .En el desarrollo de software, la calidad de
diseño acompaña a la calidad de los requisitos, especificaciones y diseño del sistema. La
calidad de concordancia es un aspecto centrado principalmente en la implementación; si la
implementación sigue al diseño, y el sistema resultante cumple con los objetivos de requisitos
y de rendimiento, la calidad de concordancia es alta.
La metodología WEB SITE QEM sirve para la evaluación de calidad de sitios web, cuyo
autor es el perfil de usuario utilizado para la evaluación de calidad es el de licenciado de
producción control de inventarios y fin de cada uno de ellos. Luis Antonio Olsina, 2000.
En esta fase consideramos los diferentes criterios de calidad, valores y rangos críticos,
funciones para determinar la preferencia elemental una vez definidos y consensuados los
criterios para mediar cada atributo, se debe ejecutar el proceso de medición, es decir la
recolección de datos de cómputo de las variables y las preferencias elementales, para
finalmente presentar los resultados.
Por definición un criterio elemental es una correspondencia del valor de la variable de calidad
Xi en el valor de preferencia o indicador elemental de calidad. En términos generales, el valor
medido de la variable es un número real. X R
115
Estructura de Agregación de Preferencia Parcial
Los valores ponderados en los pesos Pi (0.3, 0.3, 0.2, 0.2) de las características de más alto
nivel, los cuales son útiles para calcular el indicador de calidad global.
A partir del árbol de requerimientos y para cada atributo cuantificable Ai, debemos asociar la
variable Xi, que tomara el proceso real a partir de un proceso de medición. Al mismo tiempo,
para el rango de valores para la variable Xi, por medio de un criterio elemental y mencionar el
rango de captación.
116
4.1.1.4 Especificación de Requerimiento de Calidad
De acuerdo a los perfiles de usuario y con la metodología, se evaluó las características que
son más relevantes.
a) Evaluación global
Los valores obtenidos en los IEi, son la base para la evaluación global, recurriendo a LSP
(Logic Scoring of Preference) con la función de la media potencia pesada.
−∞ ≤ 𝒓 ≤ +∞ ; 𝟎𝑰𝑬𝒊 ≤ 𝟏
117
1.2 Ayuda explicativa a los usuarios 60 0.9 0.5 0.4
estéticos
118
2.1.2.4 Búsqueda de producto final 90 0.8 0.3 0.24
En la tabla 4.2 realizamos el cómputo de las preferencias para las características de más alto
nivel y calculamos la calidad global.
119
b) Criterio Global
Los resultados de los valores de las preferencias de calidad para las características de más alto
nivel, y valores finales se muestran en la siguiente tabla.
1. Usabilidad 92.5
2. Funcionalidad 92
3. Confiabilidad 91
4. Eficiencia 96
De acuerdo a la valoración de la calidad del sitio web, aplicando la metodología Web Site
QEM el valor de calidad total del Sistema Web de Control de Inventarios, Manufacturación y
Producto Final es de 92,87%
4.2 Seguridad
120
venir de las herramientas que se utilizan para su desarrollo o pueden ser producto de una falla
en el diseño lógico.
4.2.1 Autenticación
Procedimiento informático que permite asegurar que un usuario de un sitio web u otro
servicio similar es auténtico o quien dice ser. Se implementa la autenticación de usuarios tanto
para la empresa INCADEX S.R.L., para determinar que un usuario sea quien dice ser.
MD5 es uno de los algoritmos de reducción criptográficos diseñados por el profesor Ronald
Rivest del MIT (Massachusetts Institute of Technology, Instituto Tecnológico de
Massachusetts). Fue desarrollado en 1991 como reemplazo del algoritmo MD4 después de
que Hans Dobbertin descubriese su debilidad. Para encriptar la contraseña del usuario se
utiliza el algoritmo denominado md5 (Message Digest 5), el cual esta implementado en
Python. Con esta función se encripta la contraseña por el usuario al momento de registrarse.
Permite validar los datos introducidos por el usuario con las siguientes reglas que aplicamos
en el proyecto.
Regla Descripción
121
os.path.commonpath(['/usr/lib', En esta función solo podrían regresar caminos
'/usr/local/lib']) válidos.
'/usr'
122
Proteccion Django csrf_exempt Protección contra ataques
CSRF CSRF
CSRF_COOKIE_S
ECURE
123
Capítulo V
5.1 Cocomo II
En todo proyecto es importante tener una planificación o estimación de costos, no solo de los
requerimientos de hadware, costos de tiempo y esfuerzo; COCOMO II, es un método de
estimación de costos y refuerzos de únicamente proyecto de software, que permite por medio
de los módulos planificados en el software.
Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación, cada vez mayor,
a medida que avanza el proceso de desarrollo del software: básico, intermedio y detallado.
Para calcular el costo del proyecto se lo realizara haciendo uso del modelo COCOMO II. El
modelo COCOMO, tiene una jerarquía de modelos como ser básico, intermedio y avanzado,
la cual se aplica a tres diferentes tipos de software.
124
La tabla 5.1 muestra los coeficientes del proyecto de software de acuerdo a los tres modos
expuestos anteriormente.
Proyecto de Software A B c d
E = a (KLDC) b, persona-mes
D = c (E) d, meses P = E /
D, personas
Dónde:
125
KLDC: Cantidad de líneas de código, en miles.
Para el cálculo del desarrollo del software se tendrá como partida el punto función no
ajustado.
Factor de ponderación
N° de Entradas de usuario 15 3 4 6 56
N° de peticiones de usuario 22 3 4 5 81
N° de archivos 15 7 10 15 100
Nº de interfaces externas 3 5 7 10 14
126
Por lo tanto el Punto Función es 351
Este resultado se debe convertir a KLDC (Kilos de Líneas de Código), para ello se utiliza la
siguiente la tabla 5.3
Lenguaje Nivel
Python 30
Javascript 20
Html5 19
css 15
Frameworks Nivel
Django 25
Flask 10
Jinja 9
Jquery 6
Bootstrap 5
127
Como el desarrollo del sistema está basado en Python entonces se tiene
Factor LDC/PF = 30
Con el factor LDC/PF = 30 y reemplazando este dato más el punto función no ajustada se
calcula en la siguiente ecuación:
LDC = 351 * 30
LDC = 10530
KLDC = 10.53
A continuación haremos el cálculo del esfuerzo necesario para la programación del sistema,
para ello utilizamos la siguiente ecuación:
E = a (KLDC) b
Para hallar el esfuerzo “E” definimos antes el tipo del proyecto que en nuestro caso es
semiacoplado y utilizamos de los datos de la tabla 5.1. Con esto se reemplaza en la fórmula:
E = a (KLDC) b
E = 3 (10.53) 1.12
E = 41.90 persona-mes
128
Ahora para hallar el tiempo del proyecto usamos los datos de la tabla 5.1, recordando que el
proyecto es de tipo orgánico y reemplazando en la siguiente formula:
D = c (E) d meses
D = 7.57 ≈ 7 meses
P=E/D
P = 41.90 / 7
P = 5.98 ≈ 6 programadores
El salario promedio de un programador oscila entre los 200 a 250 $us, en nuestro caso
tomaremos un promedio de 225$us. A partir de este monto podemos calcular el costo total del
desarrollo del software.
129
Costo total del desarrollo = 1350 * 7
La empresa no cuenta con un área de sistemas actualmente al corriente del trabajo diario pero
si cuenta con una actualización anual para el registro de inventarios por lo cual el costo de
implementación que se tendrá será la configuración de la parte del servidor. El mismo tendrá
un costo de 100Sus.
Los costos de elaboración del proyecto se refieren principalmente a los gastos que se realizan
a lo largo de las diferentes fases de la metodología Scrum y UWE.
Material de escritorio 20
Internet 30
Otros 50
130
Total 400
El costo total del software se lo obtiene de la sumatoria del costo de: desarrollo,
implementación y elaboración del proyecto. La tabla 5.5 expresa estos resultados.
Total 9950
El VAN o valor actual neto es un procedimiento que permite calcular el valor presente de un
determinado número de flujos de caja futuros, originados por una inversión. La metodología
consiste en descontar al momento actual (es decir, actualizar mediante una tasa) todos los
flujos de caja futuros del proyecto. A este valor se le resta la inversión inicial, de tal modo que
el valor obtenido es el valor actual neto del proyecto.
131
La fórmula que utilizaremos para hallar el valor actual neto será:
Dónde:
Ganancias: Ingreso de flujo anual Costos: Salidas de flujo anual n: Numero de periodo k: Tasa
de descuento o tasa de interés al préstamo
Los gastos y ganancias que se estiman en un lapso de 4 años los mostramos en la tabla 5.6,
para este caso en particular utilizamos una tasa de descuento del 12% ya que es la tasa actual
de interés del préstamo en las entidades financieras.
1 9950 0 8883.92 0
132
𝑮𝒂𝒏𝒂𝒏𝒄𝒊𝒂𝒔 𝑪𝒐𝒔𝒕𝒐𝒔 2136.54
𝑽𝑨𝑵 = ∑ 𝒏− ∑
(𝟏 + 𝟎. 𝟏𝟐) (𝟏 + 𝟎. 𝟏𝟐)𝒏
La tabla 5.7 muestra si un proyecto es rentable y de acuerdo a ciertos criterios más el valor del
VAN concluiremos si es rentable o no.
De aquí concluimos: considerando que el VAN = 2136.54 ≈ 2137 y siguiendo los criterios de
la tabla 5.7 se afirma que nuestro proyecto es rentable ya que 2137 es mayor a 0.
133
Costo/Beneficio = 1.17 $.
Con este resultado interpretamos de la siguiente manera: por cada dólar invertido en el
proyecto de software la institución genera una ganancia de 0.17 $us.
Cuando en la fórmula del VAN el valor de “k” es igual a “0” pasa a llamarse TIR (Tasa
Interna de Retorno). La TIR es la rentabilidad que nos proporciona al proyecto.
Dónde:
La tabla 5.7 muestra una mejor compresión de ecuación TIR y expresando los resultado
encontrados en las misma.
(𝟏 − 𝒊)𝒏
1 9950 0 -11306.81
134
2 3100 5970 3706.09
TIR 12925.03
135
Capítulo VI
Conclusiones Y Recomendaciones
6.1 Conclusiones
6.2 RECOMENDACIONES
136
• Para asegurar la integridad de los datos e información contenida del sistema, se
recomienda a los usuarios políticos de seguridad, como ser la longitud de las contraseñas, para
evitar el acceso de personas ajenas y maliciosas al sistema.
137
BIBLIOGRAFÍA
Referencias Bibliográficas
[GARCIA, 2013] García Chi Rosa Imelda. Guía Técnica de Ingeniería Web. Instituto
Tecnológico de ciudad Valles 2013.
[CAMPS, 2005] Camps Rafael, Casillas Luis, Costal Dolors. Base de datos. Eureca Media.
Universidad Oberta de Catalunya mayo 2005.
[PERALTA, 2003] Peralta Adriana. Metodología SCRUM. Universidad ORT Uruguay.
Facultad de Ingeniería. 2003.
[PRESSMAN, 2005] Pressman Roger, “Ingeniería del Software”. ed. mcgraw-hill /
interamericana de mexico 2005.
[CANOS, 2000] Canos José, Letelier P. “Metodologías Ágiles en el Desarrollo de
Software”. Universidad Politécnica de Valencia. España 2000.
Tesis y Proyectos
[LOZA, 2015] Vila C. María V. 2004. Sistema Web de Registro y Control– Seguro
INSANESS. Universidad Mayor de San Andrés.
[CORONE, 20016] Copa H. Pablo G. 2004. Sistema Web y Control de afiliación – Caja
Petrolera de Salud. Universidad Mayor de San Andrés.
[CITON, 2006] Citón María Laura. 2006. Método ágil scrum aplicado al desarrollo de un
software de trazabilidad – Universidad de Mendoza
[JEREZ, 2004] Jerez Lugo, Carlos Augusto. 2004. Seguridad para lograr Confiabilidad y
Calidad de los Servicios Digitales en Internet - Universidad de las Américas Puebla.
[BORGHELLO, 2001] Borghello Cristian F. 2001. Seguridad Informática - Implicancias e
Implementación
[NUÑEZ, 2010] Nuñez Jose. 2010. Usabilidad en Metodologías Agiles. Universidad
Politécnica De Madrid.
Sitios Web y Materiales Electrónicos
[ALBALADEJO, 2013] Albaladejo Xavier. Como gestionar proyectos con Scrum. [En
línea] [Disponible en:] <http://www.proyectosagiles.org/que-es-scrum> [Consulta 9 julio
2015]
[GALIANO, 2012] Galiano Francesco. “Desarrollo Ágil de Software”. [En línea]
[Disponible en:] <http://frayu.blogspot.com/2012/09/desarrollo-agilde-software.html>
[Consulta 08 octubre 2015]
[LMU, 2000] LMU – Ludwig-Maximilians-Universität München. UWE – UML – base
Web Engineering. [En línea] [Disponible en:]
<http://uwe.pst.ifi.lmu.de/teachingTutorial.html> [consulta 10 julio 2015]
138
[LÓPEZ, 2009] López Eliazar. Arquitectura de n capas. [En línea] [Disponible en:]
<https://www.academia.edu/10102692/Arquitectura_de_n_capas> [Consulta 18 septiembre
2015]
[IBM, 2013] IBM Knowledge Center. “Introduction to DB2 for z/OS”. [En línea]
[Disponible en:] <http://www-01.ibm.com/support/knowledgecenter/
SSEPEK_10.0.0/com.ibm.db2z10.doc.intro/src/tpc/db2z_whatisdb2.di ta?lang=es >
[Consulta 19 agosto 2015]
[MICROSOFT, 2008] Microsoft. Database Mirroring Overview. [En línea] [Disponible
en:] <https://technet.microsoft.com/en-us/library/ms189852(v=sql.105) .aspx> [Consulta
20 agosto 2015]
[W3SCHOOLS, 2015] The world's largest web developer site. [En línea] [Disponible en:]
<http://www.w3schools.com/ > [Consulta 16 de octubre de 2015].
[YII2, 2015] Página Oficial de Python. [En línea] [Disponible en:]
<http://www.yiiframework.com/wiki/?tag=yii2> [Consulta 15 de octubre de 2015].
[MARIADB, 2015] Página Oficial de ORM [En línea] [Disponible en:]
<https://mariadb.com> [Consulta 17 de octubre de 2015].
[WEBARCHIVE, 2015] Internet Archive Wayback Machine. Investigación IT – Forks de
MySQL. [En línea] [Disponible en:] <http://web.archive.org/web/
20121203042114/http://investigacionit.com.ar/forks-de-mysql> [Consulta 17 de octubre de
2015].
[ANGELFIRE, 2012] Angelfire. ¿Qué es la Ingeniería de Software?. [En línea]
[Disponible en:] <http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware .html>
[Consulta 9 de octubre de 2015]
[ROMERO, 2011] Romero M. Andrés. Aspectos Básicos de la Seguridad en Aplicaciones
Web. [En línea] [Disponible en:] <http://www.seguridad.unam.mx/ documento/ ?id=17>
[Consulta 10 de octubre de 2015].
[TENNESSEE, 2015] The University of Tennesse, Knoxville. [En línea] [Disponible en:]
<https://help.utk.edu/kb/index2.php?func=show&e=1699> [Consulta 19 agosto 2015]
[ECURED, 2015] EcuRed Conocimiento con todos y para todos. Servidor HTTP
Apache. [En línea] [Disponible en:] <http://www.ecured.cu/ Servidor_HTTP_Apache>
[Consulta 23 agosto 2015]
[SONCCO, 2008] Soncco Araujo Lewis M. Tecnología Web. Pontificia Universidad
Católica del Perú. [En línea] [Disponible en:]
<http://es.slideshare.net/MeliVidal/tecnologia-web-5778008> [Consulta 10 de julio de
2015].
[SBS, 2015] Superintendencia de banca, seguros y afp. República del Perú. [En línea]
[Disponible en:] <http://www.sbs.gob.pe/usuarios/categoria/ consulta-deafiliados/250/c-
250> [Consulta 10 de julio de 2015].
139
ANEXOS
140
141
142
143
ANEXO C – MARCO LÓGICO
144
actividades Equipos Historias de El instituto
computacionales usuario debe proveer
Recabar información.
Informes información al
Reuniones y Personas que
Control de equipo de
entrevistas con conformaran el desarrollo.
avance del
personas del área de equipo de
sistema por el
almacen,manufactura desarrollo Correcto
responsable de
ción, funcionamiento
Persona que los almacenes y
y producto final de los equipos
represente la jefe de planta
computacional
Proceder con el empresa como es
desarrollo de la cliente. Información
aplicación mediante de la
Información de
la metodología ágil bibliografía.
distintas fuentes:
XP
libros, internet y
Análisis.- se crea la otros.
documentación.
Diseño.- se diseña las
partes del sistema.
145
DOCUMENTACIÓN
146