El Libro Perdido de Enki - Traduccion de Tablillas Sumerias
El Libro Perdido de Enki - Traduccion de Tablillas Sumerias
Universidad de Cuenca
Facultad de Ingeniería
Proyecto de Tesis
ANÁLISIS Y DISEÑO DE SOFTWARE EN LA APLICACIÓN DE TDABC PARA EL
SECTOR PRODUCTIVO MEDIANTE EL USO DE METODOLOGÍAS ÁGILES
Autor:
Ing. Eduardo Patricio Merchán Sempértegui
C.I. 0102836103
Director:
Ing. Carlos Villie Morocho Zurita, PhD.
C.I. 0300930328
Co-Directora:
Ing. Lorena Catalina Sigüenza Guzmán, PhD.
C.I. 0102659687
2018
1
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Resumen
Un correcto manejo de los costos y la gestión estratégica de procesos son herramientas
indispensables hoy en día en el normal desenvolvimiento de las industrias debido a su impacto directo
en los objetivos de toda empresa, estando entre los primordiales, el minimizar costos y maximizar
utilidades. Por un lado, el manejo de los costos nos ayudara a controlar que los insumos estén siendo
utilizados de una manera eficiente, lo mismo sucede con la gestión estratégica de los procesos
brindando las directrices necesarias para mejorar la gestión empresarial. En este sentido, un sistema
de costos nos facilitará información adecuada, precisa y detallada para una mejor toma de decisiones.
El presente trabajo consiste en documentar el análisis y diseño de una plataforma informática para el
apoyo a la gestión de costos y procesos en una industria del sector productivo, específicamente el de
ensamblaje mediante la aplicación del sistema de costes basados en el tiempo invertido por actividad
(TDABC), mediante el uso de metodologías ágiles se busca verificar si el desarrollo de la plataforma
permite superar algunas de las limitaciones del sistema de costeo, así como acentuar sus ventajas.
Para esto, se establece primero un marco teórico que se centra en describir los principales sistemas
de costeo, así como las metodologías de desarrollo ágiles existentes. Seguidamente, el estudio hace
referencia al estado actual de la empresa, documenta los componentes de análisis, diseño y desarrollo
de una plataforma informática, haciendo una alineación con respecto a metodologías ágiles. Para
finalizar el sistema planteado supone una evolución de la experiencia previa de desarrollo de un
prototipo que aplica TDABC para el manejo de procesos en bibliotecas al alinearlo a empresas de
producción. El trabajo finaliza extrayendo las conclusiones más importantes del análisis efectuado
Palabras Claves: gestión, procesos, costos, TDABC, BPMN
2
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Abstract
Cost management and strategic process management are indispensable tools today in
the development of industries given their direct impact on the objectives of every company,
among the most important, minimizing costs and maximizing profits. On one hand, cost
management helps to ensure that inputs are being used in an efficient way, along with the
strategic management of the processes, which provides the necessary guidelines to improve
business management. A cost system is critical to provide us with adequate, accurate and
detailed information for better decision making in businesses.
This article presents the analysis and design of a software that serves to manage cost
management and assembly processes using the ¨Time Driven Activity Based Costing¨
(TDABC) system. This study supports the academic field by using agile methodologies to
verify if the development of the platform allows its clients to overcome limitations of
TDABC, while simultaneously accentuating its advantages. First, a theoretical framework is
established that focuses on presenting the main costing systems and existing agile
development methodologies. Next, the study reviews the current state of business in order to
assess the the components of analysis and design that are essential for the development of a
software that aligns with agile methodologies. Lastly, this article explores the evolution of
past experiences with a TDABC prototype that was designed for libraries in order to assess
its appropriateness for production companies. This article concludes by arguing the
groundbreaking role of the software which promotes the advantages of managing TDABC,
while also preventing and limiting the downfalls of the methodology
3
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Tabla de Contenido
RESUMEN ................................................................................................................................................. 2
ABSTRACT ................................................................................................................................................ 3
ÍNDICE DE FIGURAS .............................................................................................................................. 7
ÍNDICE DE TABLAS ................................................................................................................................ 8
CLÁUSULA DE LICENCIA Y AUTORIZACIÓN PARA PUBLICACIÓN EN EL REPOSITORIO
INSTITUCIONAL...................................................................................................................................... 9
CLÁUSULA DE PROPIEDAD INTELECTUAL ................................................................................... 10
AGRADECIMIENTOS ............................................................................................................................ 11
CAPÍTULO 1: GENERALIDADES ........................................................................................................ 12
INTRODUCCIÓN ............................................................................................................................................. 12
JUSTIFICACIÓN DEL PROYECTO ..................................................................................................................... 13
OBJETIVO GENERAL ...................................................................................................................................... 13
OBJETIVOS ESPECÍFICOS ............................................................................................................................... 13
ALCANCE DEL PROYECTO ............................................................................................................................. 13
MÉTODO DE TRABAJO ................................................................................................................................... 15
CAPÍTULO 2: MARCO TEÓRICO ........................................................................................................ 17
INTRODUCCIÓN ............................................................................................................................................. 17
LAS EMPRESAS EN EL SECTOR PRODUCTIVO .................................................................................................. 17
SISTEMAS DE COSTEO ................................................................................................................................... 18
Sistemas de Costeo Tradicional ............................................................................................................... 18
Costeo Basado en Actividades (ABC) ...................................................................................................... 19
Costes basados en el tiempo invertido por actividad (TDABC) .............................................................. 20
VENTAJAS DE LA METODOLOGÍA TDABC .................................................................................................... 22
LIMITACIONES DE LA METODOLOGÍA TDABC .............................................................................................. 23
TDABC VS ABC .......................................................................................................................................... 24
MODELOS DE PROCESOS ............................................................................................................................... 25
Modelo de procesos IDEF ....................................................................................................................... 25
Gestión de procesos de negocio (BPM) ................................................................................................... 25
Modelos de Procesos BPMN ................................................................................................................................ 26
TDABC CON EL USO DE BPMN.................................................................................................................... 27
METODOLOGÍAS TRADICIONALES ................................................................................................................. 29
Estructura ................................................................................................................................................ 29
METODOLOGÍAS ÁGILES ............................................................................................................................... 31
COMPARATIVO ENTRE METODOLOGÍAS AGILES Y TRADICIONALES ............................................................... 32
METODOLOGÍAS DE DESARROLLO DE SOFTWARE ÁGILES .............................................................................. 33
SCRUM .................................................................................................................................................... 34
Crystal Methodologies ............................................................................................................................. 34
Dynamic Systems Development Method (DSDM) ................................................................................... 34
Adaptive Software Development (ASD) ................................................................................................... 35
Feature-Driven Development (FDD) ...................................................................................................... 35
Lean Development (LD) .......................................................................................................................... 35
Extreme Programming(XP) ..................................................................................................................... 35
4
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Kanban .................................................................................................................................................... 35
CONCLUSIONES ............................................................................................................................................. 36
CAPÍTULO 3: ESTADO ACTUAL DE LAS EMPRESAS DE PRODUCCIÓN EN CUANTO A
MÉTODOS DE COSTEO – ETAPA 1(VISUALIZACIÓN) ................................................................... 37
INTRODUCCIÓN ............................................................................................................................................. 37
HISTORIA ...................................................................................................................................................... 37
ESTADO ACTUAL .......................................................................................................................................... 37
CONCLUSIONES ............................................................................................................................................. 37
CAPÍTULO 4: COMPONENTES DE ANÁLISIS Y DISEÑO PARA DESARROLLO DE SOFTWARE
– ETAPA 2 (PLANEACIÓN) ................................................................................................................... 39
INTRODUCCIÓN ............................................................................................................................................. 39
ANÁLISIS Y DISEÑO ...................................................................................................................................... 39
MODELOS DE CICLO DE VIDA ........................................................................................................................ 40
INGENIERÍA DE SOFTWARE ............................................................................................................................ 42
MODELADO DEL NEGOCIO ............................................................................................................................ 43
Requerimientos del Negocio .................................................................................................................... 44
Roles del Entorno del Negocio ................................................................................................................ 45
Casos de Uso del Negocio ....................................................................................................................... 46
Prototipos ................................................................................................................................................ 46
Casos de Prueba ...................................................................................................................................... 46
DOCUMENTACIÓN ......................................................................................................................................... 47
Doxygen ................................................................................................................................................... 47
Javadoc .................................................................................................................................................... 48
GESTIÓN DE RIESGOS .................................................................................................................................... 48
Identificación de riesgos .......................................................................................................................... 49
Estimación del Riesgo.............................................................................................................................. 50
Tabla de riesgos....................................................................................................................................... 51
CONCLUSIONES ............................................................................................................................................. 51
CAPÍTULO 5: ANÁLISIS DE HERRAMIENTAS DE DESARROLLO DE SOFTWARE Y
ALMACENAMIENTO DE DATOS – ETAPA 3(ANÁLISIS) ................................................................ 52
INTRODUCCIÓN ............................................................................................................................................. 52
LENGUAJES DE PROGRAMACIÓN ................................................................................................................... 52
FRAMEWORKS DE DESARROLLO .................................................................................................................... 52
BASES DE DATOS .......................................................................................................................................... 53
BPM ............................................................................................................................................................. 54
BPMN vs IDEF ........................................................................................................................................ 54
ANÁLISIS DE DATOS ...................................................................................................................................... 55
INFORMES Y REPORTES ................................................................................................................................. 56
MÉTODOS DE DOCUMENTACIÓN SUGERIDOS ................................................................................................. 56
CONCLUSIONES ............................................................................................................................................. 57
CAPÍTULO 6: ALINEACIÓN DEL DESARROLLO DE SOFTWARE CON EL MÉTODO DE COSTEO TDABC EN
EMPRESAS DE PRODUCCIÓN – ETAPA 3(ANÁLISIS) .................................................................................... 58
INTRODUCCIÓN ............................................................................................................................................. 58
TD-ABC-D .................................................................................................................................................. 58
MÓDULO TDABC Y SU USO EN BIBLIOTECAS ............................................................................................... 58
5
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
6
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Índice de Figuras
Figura 1 - Metodología de imputación del coste según el sistema ABC (de Arbulo López, P. R., &
Santos, J. F. 2011) ............................................................................................................................. 20
Figura 2 - Elementos principales de un sistema ABC (Namazi, M. 2016) ....................................... 22
Figura 3 - Fases de la Metodología BPM propuesta usando TDABC .............................................. 28
Figura 4 - Interacción de procesos en el manejo de proyectos (Project Management Institute. 2013)
........................................................................................................................................................... 31
Figura 5 - Modelo de ciclo de vida de tipo Cascada (Aycart, Ginestá & Hernández, 2007) ............ 40
Figura 6 - Modelo de ciclo de vida de tipo Espiral (Aycart, Ginestá & Hernández, 2007). ............. 41
Figura 7 - Modelo de ciclo de vida(Incremental) (Aycart, Ginestá & Hernández, 2007). ................ 41
Figura 8 - Modelo de ciclo de vida (Prototipado evolutivo) (Cataldi, Z. 2000)................................ 42
Figura 9 - Modelo de procesos de pruebas de software (Puello, O. 2013)........................................ 47
Figura 10 - Estimación del riesgo (Pressman, R. S. 2010) ................................................................ 50
Figura 11 - Ejemplo de tabla de riesgos (Pressman, R. S. 2010) ...................................................... 51
Figura 12 - Ejemplo de utilización de javadoc .................................................................................. 57
Figura 13 - Fases de un sprint (Cadavid, A. N., et al., 2013) ............................................................ 61
Figura 14 - SCRUM Framework ([Link], 2017) .................................................................. 62
Figura 15 - Esquema de metodología Scrum empresa Motsur (autoria propia) ................................ 63
Figura 16 - Formato de levantamiento de procesos (referencia) ....................................................... 64
Figura 17 - Mapa de procesos según levantamiento de riesgos (referencia) ..................................... 64
Figura 18 - Caso de uso de Gestión de procesos de la plataforma .................................................... 66
Figura 19 - Modelo conceptual de datos de la plataforma ................................................................ 69
Figura 20 - Patrón MVC asociado a la tecnología Web para el proyecto ......................................... 70
Figura 21 - Arquitectura de Software recomendada en software TDABC ....................................... 74
Figura 22 - Bosquejo de listado de procesos ..................................................................................... 75
Figura 23 - Bosquejo de generación de procesos y subprocesos ...................................................... 76
Figura 24 - Bosquejo de modificación de procesos .......................................................................... 76
Figura 25 - Bosquejo de modificación de versiones de proceso ....................................................... 77
Figura 26 - Ejemplo de Guía de Estilos Booststrap .......................................................................... 78
Figura 27 - Plantilla de Historias de Usuario para empresas de producción ..................................... 79
Figura 28 - Ejemplo de Historia de Usuario para la Sección Productos ........................................... 80
7
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Índice de tablas
Tabla 1 - Elementos de BPMN (Vidal Duarte, E et al., 2014) .......................................................... 27
Tabla 2 - Metodologías tradicionales vs Metodologías Ágiles (Cadavid, A. N., et al., 2013) .......... 33
Tabla 3 - Modelo de automatización de procesos (López Supelano, K. 2015) ................................. 55
Tabla 4 - Especificación de requerimiento: Administración de procesos ......................................... 65
Tabla 5 - Especificación de requerimiento: Administración de subprocesos .................................... 65
Tabla 6 - Detalle de funcionalidad por caso de uso .......................................................................... 68
Tabla 7 - Product Backlog para el desarrollo de la aplicación .......................................................... 72
Tabla 8 - Resumen de herramientas a utilizar en la aplicación ........................................................ 73
Tabla 9 - Conjunto de rasgos de riesgos definidos para la aplicación en base a (Cordero Morales, D
et al., 2013)........................................................................................................................................ 81
8
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
9
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
10
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Agradecimientos
Agradezco a mi Director, Dr. Villie Morocho, y mi Co-Directora, Dra. Lorena Sigüenza, por la
paciencia, tiempo brindado en la dedicación y apoyo a este proyecto…
… Y con toda mi alma a la razón de mi vida Eduardo, Isabella y Rafaella, mis hijos. …
11
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Capítulo 1: Generalidades
Introducción
El alto nivel de competitividad que se da en el entorno empresarial ha motivado a que estas,
en su afán por conseguir los objetivos de minimizar costos y maximizar ganancias, enfoquen
su atención en la búsqueda de nuevas alternativas para la mejora de sus servicios y procesos.
Implicando, entre otras cosas, una buena implementación de sistemas de contabilidad de
costos, y de igual forma su traducción a sistemas informáticos (Cámara de Industrias
Producción y Empleo. 2016).
En relación a la contabilidad se ha establecido como un medio imprescindible para las
empresas en el conocimiento de su situación económica y financiera en determinado punto
del tiempo. La contabilidad de costos, según Mesías Jaime León (Mesías, J. L. 2006), ha
evolucionado en tres generaciones: determinación de costos unitarios, predeterminación de
costos, y control de costos; surgiendo en cada una de ellas distintos sistemas de costeo. En la
tercera generación, específicamente, nace el sistema de costos basados en actividades (ABC),
ABC es un sistema de costos promovido por Robert S. Kaplan y Robin Cooper en 1998
(Robert S. Kaplan, & Robin Cooper. 1998). Posterior a este revolucionario sistema de costeo,
surge un nuevo enfoque basado en el tiempo invertido por actividad denominado TDABC,
TDABC es un sistema de costeo desarrollado por Kaplan y Anderson en 2003 para superar
las limitaciones de sus antecesores (Kaplan, R. S., & Anderson, S. R. 2003) como: son el
tratar de identificar los diferentes departamentos, los costos involucrados en cada uno de ellos
y su capacidad normal.
La traducción de requerimientos a sistemas informáticos implica el análisis, diseño,
arquitectura de software y sus patrones que son una parte fundamental para una correcta
organización de las secciones que involucran el desarrollo y puesta en marcha de estos
sistemas. Todos los conceptos implicados en los sistemas informáticos, estructuras, el código
y sus módulos, almacenamiento de datos, roles, responsabilidades y relaciones entre cada
uno de estos puntos, surgen gracias a la necesidad de una base modular para el manejo de
sistemas en crecimiento tanto en tamaño como en complejidad como nos menciona (Arias
Chaves, M. 2005).
Desafortunadamente, pocos son los estudios que documentan el desarrollo e implementación
de sistemas informáticos para TDABC. Dos de ellos es el presentado por Cabrera y Ordoñez
(Cabrera Encalada, P., & Ordoñez Parra, C. 2012) y Siguenza-Guzman (Siguenza-Guzman
et al., 2014) que describen el desarrollo de un módulo denominado TD-ABC-D, orientado a
la gestión de costos en bibliotecas universitarias.
De igual forma, el escoger una correcta metodología para un futuro desarrollo de software es
complementario e importante luego de obtener el resultado de los análisis de patrones de
arquitectura correctos para las características del software que se propondría para el
desarrollo (Parra Castrillón, E. 2011). Hace varios años existía la opinión general entre los
programadores de que la mejor forma de desarrollar software era planificando
cuidadosamente el proyecto y utilizando métodos de análisis y diseño cerrados y de igual
12
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
13
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
14
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
15
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
En esta primera etapa, de todos los elementos mencionados, se hará hincapié en el estado
actual de las empresas de producción con relación a los métodos de costeo, dentro de esta
etapa corresponde el capítulo 3.
Etapa 2: Planeación
Esta etapa comprende la planificación del trabajo que consiste en proponer literatura para la
arquitectura de la solución y listar los componentes del desarrollo de software partiendo del
análisis hasta la gestión de riesgos es decir la revisión de la literatura de desarrollo y el
modelo conceptual a proponer, en esta etapa se encuentra el capítulo 4.
Etapa 3: Análisis
Dentro de esta etapa se realiza el análisis comparativo de herramientas de desarrollo y
metodologías ágiles enfocadas a la aplicación de TDABC en la empresa, y una alineación
entre estos dos aspectos brindando una visión global de la funcionalidad y ventajas de este
desarrollo. A esta etapa corresponden los capítulos 5 y 6.
Etapa 4: Propuesta
En esta etapa se pretende generar el análisis y diseño de software enfocado a la aplicación de
TDABC en las empresas del sector productivo y de manera específica el de ensamblaje. La
idea principal en esta etapa es proporcionar la guía completa tanto a desarrolladores como
administrativos de cómo aplicar los conceptos y conocimiento generado para la aplicación
empresas de este tipo, dentro de esta última etapa se encuentran los capítulos 7.
16
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
17
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
18
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
19
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
salida u otro indicador físico de la misma. El coste total de cada actividad se divide para
encontrar
el coste unitario del inductor (motivo por el que esta técnica se denomina también rate-based
ABC). A partir de ahí, el coste de cada producto u objeto de coste se obtiene en función del
consumo de unidades de inductor (Cooper, R., & Kaplan, R. S., 1988), más los costes directos
correspondientes, tal como se muestra en la Figura 1.
Figura 1 - Metodología de imputación del coste según el sistema ABC (de Arbulo López, P. R., & Santos, J. F. 2011)
20
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Las etapas del TDABC que lista (de Arbulo López, P. R., & Santos, J. F. 2011), y cuya
fuente principal corresponde a (Everaert, P., et al., 2008) se listan a continuación:
1. Identifica las actividades que son realizadas con los mismos medios para constituir
los “grupos de recursos”
2. Estima los recursos consumidos por cada «grupo de recursos»
3. Estima la capacidad normal de cada grupo de recursos en términos de horas de
trabajo
4. Calcula los costes unitarios de los inductores (el más habitual es el minuto de
trabajo) de cada grupo de recursos, dividiendo el coste de los recursos consumidos
entre la capacidad normal
5. Para cada tarea, determina el tiempo necesario de acuerdo con sus características
6. Para valorar cada tarea, multiplica el coste unitario de los recursos por el tiempo
necesario para llevarla a cabo.
21
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
22
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
en TDABC puede ser actualizado más fácilmente que uno basado en ABC. Esto, ya que
TDABC no requiere que se hagan entrevistas nuevamente al momento de alterar procesos.
Capacidad de simulación de procesos: TDABC puede usarse para modificar el
comportamiento de los diferentes procesos modelados y simular las diferentes situaciones
que pueden darse al cambiar valores de costos o flujos de procesos.
Limitaciones de la metodología TDABC
Dentro de las limitaciones que nos presenta (Namazi, M. 2016) en su artículo podemos
encontrar las enumeradas a continuación:
1. Aunque TDABC se puede aplicar a varias industrias, su aplicación se limita a
situaciones en las que el "tiempo" puede ser ejercido como el único factor de costeo.
2. La falta de identificación de la actividad, en la primera etapa, desvía TDABC
significativamente de los mayores y principales fundamentos del ABC. Si las
"Actividades" no se identifican claramente al principio, y se calcula una sola tasa de
costos holística para todo el departamento, equivale a volver a los sistemas
tradicionales de contabilidad de costos basados en el volumen como lo cita (Cooper,
R. 1989)
3. Aunque aparentemente TDABC aborda la simplicidad, la determinación exacta de
los costos de capacidad práctica, la tasa de capacidad y la absorción de una tasa de
costo de capacidad uniforme para todas las actividades del departamento han surgido
como nuevos obstáculos, así como lo menciona el mismo autor en otro de sus
artículos (Namazi, M. 2009)
4. Aunque parece que la construcción de un modelo TDABC es más fácil que la creación
de un modelo CABC, que no siempre es el caso porque "ABC cronometrado requiere
tanto la recopilación de datos como el modelo ABC tradicional. Cada vez que se
actualiza y recalcula un modelo, se deben actualizar los controladores de duración. "
(BARRET, R. 2005:39)
5. TDABC añade un paso más que podría considerarse innecesario para el proceso de
implementación de tiempo del ABC porque requiere que el administrador se
involucre en el proceso de la estimación del tiempo. Este proceso no sólo aumenta
los costos de recolección de la información requerida, sino que también hace que
consuma mucho tiempo y crea disimetría de información.
6. Al calcular el costo de la capacidad no utilizada, los estudios de la TDABC no
consideraron la capacidad de los recursos y el comportamiento de los costos
completamente.
7. La ventaja de TDABC para la toma de decisiones es limitada por las siguientes
razones:
a) TDABC asume que la relación entre las actividades y los recursos consumidos
es lineal, absoluta y determinada
b) TDABC ignora las restricciones sobre los recursos de la actividad y los cuellos
de botella.
23
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Otra de las ventajas que nos menciona (Siguenza-Guzman, et al., 2013) es que TDABC
asigna los costos de los recursos directamente al objeto del costo usando dos parámetros: 1)
24
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Modelos de procesos
Como se expresa en (Salgado, C. H., et al., 2016), se puede decir que un modelo de proceso
de negocio muestra las actividades que se deben realizar para alcanzar los objetivos
establecidos por la organización en su negocio. También en (Salgado, C. H., et al., 2016) se
menciona que, en el campo del modelado de procesos de negocio se pueden encontrar
numerosas propuestas de lenguajes de modelado, como IDEF0, IDEF3, UML, UML 2.0 y
BPMN, por mencionar algunos, de todas estas opciones nos enfocaremos en dos de las más
populares que corresponden a BPMN e IDEF.
Modelo de procesos IDEF
Los métodos o modelos IDEF son utilizados para, crear representaciones gráficas de varios
sistemas, analizar el modelo de procesos, crear el modelo de una versión deseada del sistema
y ayudar en la transición desde uno a otro (Ávila-Gutiérrez, M. J et. a., 2017). Dependiendo
del método IDEF utilizado, se pueden determinar diferentes sintaxis para representar los
modelos (Ávila-Gutiérrez, M. J et. a., 2017). Además, se encuentran herramientas software
que proponen o prescriben una metodología específica para ser usada (Ávila-Gutiérrez, M. J
et. a., 2017).
La familia IDEF, consiste en un gran número de técnicas, entre las cuales se destaca IDEF0
e IDEF3, que son aquellas relacionadas con los procesos de negocio, aunque existen otras
versiones como IDEF1, IDEF1X, IDEF2, IDEF4 e IDEF5 (Sanchis, R. et al., 2009). La
técnica IDEF0, está diseñada para modelar las decisiones, acciones y actividades de una
organización u otro sistema, y representa la perspectiva funcional de modelado (Mayer et al.,
1995). Es considerada una técnica sencilla pero poderosa, ampliamente usada en la industria
durante la etapa de análisis en la reingeniería de procesos. Permite identificar apropiadamente
los procesos y sus interfaces; así como, elaborar los documentos que permitan su control en
cualquiera de sus etapas de desarrollo. IDEF0 utiliza solo un tipo de anotación en sus
representaciones gráficas conocido como ICOM (Input-Control-Output-Mechanism). La
representación estática de sus diagramas no permite visualizar las perspectivas de modelado
de comportamiento o informacional. Para vencer dichas limitaciones, se desarrolló IDEF3
(Process Description Capture), que describe a los procesos como secuencias ordenadas de
hechos o actividades, representando el cómo, y mostrando la visión dinámica o de
comportamiento (Mayer et al., 1995).
Gestión de procesos de negocio (BPM)
El Business Process Management (BPM) es una metodología corporativa cuyo objetivo es
mejorar el desempeño (eficiencia y eficacia) dela organización a través de la gestión de los
procesos de negocio, que se deben diseñar, modelar, organizar, documentar y optimizar de
forma continua (Quispe, H. G. M., et al., 2017). Esta metodología se concentra en la
administración de los procesos de negocio. Se entiende como tal a la metodología que orienta
los esfuerzos para la optimización de los procesos de la empresa, en busca de mejorar la
25
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
eficiencia y la eficacia por medio de la gestión sistemática de los mismos. Estos procesos
deben ser modelados, automatizados, integrados, monitoreados y optimizados de forma
continua. La filosofía BPM se ve como un sistema completo de información y comunicación,
a través de un marco documental que permite publicar, almacenar, crear, modificar y
gestionar procesos, así como acceder a ellos en cualquier momento y lugar (Díaz Piraquive,
F. N. 2008).
Por lo tanto, se puede decir que, el enfoque de las tecnologías BPM es el análisis de la
administración de los procesos de una empresa. Es decir, este análisis, es la convergencia de
plataformas de gestión, tecnologías y aplicativos de colaboración y gestión, y de
metodologías de gestión empresarial existentes en la organización. Esta unión tiene como
objetivo mejorar la productividad y la eficacia de la organización a través de la optimización
de sus procesos de negocio (Díaz Piraquive, F. N. 2008).
Según (Laurentiis Gianni Renato, 2005), la tecnología BPM es considerada como la
evolución de los flujos de datos y dentro de sus características se pueden contemplar las
reglas de negocio robustas y flexibles a través de motores de reglas de negocio, arquitectura
basada en web, seguridad y autenticación de usuarios (LDAP u otros sistemas), asignación
de actividades por “roles” y dinámica, gestión de timers dinámicos, ejecución paralela de una
misma actividad, cambios a los procesos “On-the-Fly” o en línea, subprocesos y procesos
articulados, ejecución y dinámica de subprocesos, el denominado “Process RollBack” en el
que se devuelven los datos a algún estado previo, manejo robusto de excepciones, reportes
estadísticos y de monitorización, y/o generador de reportes (datos del workflow).
Organización (organigrama y localidades geográficas), calendario de negocio (festivos y
horarios), integración con servidores de aplicaciones, servicios del motor a través de servicios
web.
Modelos de Procesos BPMN
Un Proceso de Negocio (BP) es una secuencia de tareas realizadas para producir un resultado
de valor para una organización. Business Process Model and Notation (BPMN) es una
notación gráfica que describe la lógica de las tareas de un BP. BPMN permite coordinar la
secuencia de las actividades y los mensajes que fluyen entre los participantes de las diferentes
tareas (Vidal Duarte, E et al., 2014), además de hacer que las organizaciones puedan
comunicar sus procesos de negocios de una manera estándar, no solo al interior de la
organización, sino también a los colaboradores de ésta (Vidal Duarte, E et al., 2014).
Comunicar procesos en una manera uniforme permite mejorar el control sobre la eficiencia.
Por lo tanto, permite a las organizaciones mantener o aumentar su ventaja competitiva (Vidal
Duarte, E et al., 2014).
BPMN permite crear diagramas de flujos de tareas de manera sencilla, permitiendo manejar
la complejidad inherente a estos procesos de negocio; además, permite modelar los procesos
de una manera unificada y estandarizada para una clara comprensión a todas las personas de
una organización (Vidal Duarte, E et al., 2014). La siguiente tabla muestra los elementos
descritos por Vidal se tiene:
26
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Elemento Descripción
BPMN permite encapsular las diferentes áreas o
Proceso participantes que intervienen dentro del proceso
Representa la tarea que se realiza en un punto del
Tareas proceso
Es una tarea compuesta de un conjunto de
subtareas. Aquí se puede apreciar el control de
granularidad que ofrece BPMN para manejar la
Subprocesos complejidad a través de los sub-procesos
27
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
como base a (Reynoso, R. N., & Esteban, F. C. L. 2010) las fases se enumeran a continuación
y se resumen en la Figura 3:
Preparación: esta etapa es realmente, una fase previa a la ejecución de la metodología, en la
cual se realizan los preparativos para la ejecución del resto de fases, y consta
fundamentalmente de una introducción que incluye: la descripción de la empresa; el ámbito
de actuación; la formación de equipos de trabajo para la asignación de responsabilidades,
determinación de costos, método de cálculo usando la metodología TDABC, la definición y
reparto de tareas (correspondientes a las fases posteriores).
Análisis y determinación de cambios: en esta fase; básicamente, se establecen las bases
para analizar los procesos de negocio de las empresas de producción que se quieren mejorar,
y se determinan los cambios que hay que hacer a las situaciones actuales o presentes para
llegar a la situación deseada.
Evaluación de cambios: una vez determinados los cambios que hay que hacer, en esta
tercera fase genérica, se evalúan dichos cambios, midiéndolos y cuantificándolos, para poder
dar soporte a la siguiente y última fase.
Toma de decisiones: una vez determinados los cambios y evaluados, se podrá decidir si la
situación es finalmente interesante para la entidad y conviene, por lo tanto, iniciar los trabajos
y las modificaciones de las metodologías.
Implementación de los cambios: fase que organizará y planificará las acciones a realizar
para alcanzar las modificaciones.
Análisis y
Evaluación de Toma de
Preparación determinación Implementación
cambios decisiones
de cambios
28
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Luego de poseer un marco conceptual correspondiente al modelo de procesos BPM es posible adaptar
la técnica de modelado BPMN a la propuesta sin mayores inconvenientes ya que se tendrían cubiertos
los requerimientos principales de la metodología.
Metodologías tradicionales
De manera general se realizará una breve introducción y análisis de las metodologías
tradicionales por encontrarse completamente alejadas de las metodologías agiles y poder
brindar un punto de partida y comparación con el resto de metodologías denominadas ágiles.
Se estudiarán 3 metodologías PMBOK, ISO 21500, ICB, PRINCE2 y SWEBOK
PMBOK/ISO 21500
Estas dos metodologías se encuentran estrechamente relacionadas y poseen una gran
similitud, por esta razón se ha decidido juntarlas y colocar su descripción.
La guía Project Management Body Of Knowledge (PMBOK) es el estándar de gestión de
proyectos del Instituto de Gestión de Proyectos (Project Management Institute - PMI) y es el
único estándar acreditado por la American National Standards Institute (ANSI) (organismo
para la coordinación y el uso de estándares de EEUU). Proporciona un marco común para
los gestores de proyectos, suministrando un léxico y unos procedimientos estructurados
aplicables a cualquier tipo de proyecto. PMI se fundó en 1960 y es una organización
internacional sin ánimo de lucro que asocia a profesionales relacionados con la gestión de
proyectos. A finales de 1970 casi 2000 miembros formaban parte de la organización y en los
80 se realizó la primera evaluación para la certificación como profesional en gestión de
proyectos, llamado Project Management Professional (PMP). Desde 2011 es la más grande
del mundo por estar integrada por más de 700.000 miembros de cerca de 170 países (García
Rodríguez, M. J. 2015).
La ISO 21500 es un estándar internacional desarrollado por la International Organization for
Standardization (ISO) a partir de 2007 y publicado en 2012. Proporciona una orientación
genérica, explica los principios básicos y lo que constituye unas buenas prácticas en la gestión
de proyectos. Es un documento de orientación que no está destinado a ser utilizado con fines
de certificación. ISO tiene previsto que esta norma sea la primera de una familia de normas
de gestión de proyectos y la diseño también para alinearse con otros estándares relacionados,
tales como la ISO 10006:2003, ISO 10007:2003 e ISO 31000:2009 (García Rodríguez, M. J.
2015).
Estructura
La guía PMBOK e ISO establece 47 procesos divididos en 5 grupos de proceso básicos y
áreas de conocimiento.
1. Inicio. Aquellos procesos realizados para definir un nuevo proyecto o una nueva fase
de un proyecto existente.
2. Planificación. Aquellos procesos requeridos para establecer el alcance del proyecto,
refinar los objetivos y definir la estrategia para alcanzar los objetivos que se marcaron
al comienzo del proyecto.
29
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
30
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Las interacciones entre cada uno de estos grupos y áreas de conocimiento se describen en la
Figura 4.
Metodologías ágiles
En una reunión celebrada en febrero de 2001 en las montañas Wastch Utah-EEUU, nace el
término "ágil" aplicado al desarrollo de software (Letelier, P. 2006). En esta reunión
participan un grupo de 17 expertos de la industria del software, incluyendo algunos de los
creadores o impulsores de metodologías de software (Letelier, P. 2006). Su objetivo fue
31
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
esbozar los valores y principios que deberían permitir a los equipos desarrollar software
rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto (Letelier,
P. 2006). Se pretendía ofrecer una alternativa a los procesos de desarrollo de software
tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera
en cada una de las actividades desarrolladas (Letelier, P. 2006). Varias de las denominadas
metodologías ágiles ya estaban siendo utilizadas con éxito en proyectos reales, pero les
faltaba una mayor difusión y reconocimiento (Letelier, P. 2006).
De acuerdo a Beck K, et al. (2017) se lista los doce fundamentos del Manifiesto Ágil en el
que se resume las mejores prácticas de desarrollo de software, procurando el desarrollo más
rápido conservando su calidad:
1. La mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua
de software con valor.
2. Se acepta que los requisitos cambien, incluso en etapas tardías del desarrollo. Los
procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al
cliente.
3. Se entrega software funcional frecuentemente, entre dos semanas y dos meses, con
preferencia al periodo de tiempo más corto posible.
4. Los responsables de negocio y los desarrolladores trabajan juntos de forma cotidiana
durante todo el proyecto.
5. Los proyectos son desarrollados en torno a individuos motivados.
6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo
y entre sus miembros es la conversación cara a cara.
7. El software funcionando es la medida principal de progreso.
8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores,
desarrolladores y usuarios deben ser capaces de mantener un ritmo constante de forma
indefinida.
9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
12. A intervalos regulares el equipo debe reflexionar sobre cómo ser más efectivo para a
continuación ajustar y perfeccionar su comportamiento.
Comparativo entre metodologías agiles y tradicionales
De acuerdo a lo que nos menciona (Cadavid, A. N., et al., 2013), las metodologías ágiles son
flexibles, pueden ser modificadas para que se ajusten a la realidad de cada equipo y proyecto.
Los proyectos ágiles se subdividen en proyectos más pequeños mediante una lista ordenada
de características. Cada proyecto es tratado de manera independiente y desarrolla un
subconjunto de características durante un periodo de tiempo corto, de entre dos y seis
semanas. La comunicación con el cliente es constante al punto de requerir un representante
de él durante el desarrollo. Los proyectos son altamente colaborativos y se adaptan mejor a
los cambios; de hecho, el cambio en los requerimientos es una característica esperada y
deseada, al igual que las entregas constantes al cliente y la retroalimentación por parte de él.
32
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Un proyecto es subdividido
en varios proyectos más
Se concibe como un proyecto pequeños
33
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
producto final de software. Las metodologías aplican distintos modelos de desarrollo tales
como el de cascada, el incremental, el evolutivo y el de espiral (Aycart Pérez, D et. al, 2007).
El modelo en cascada determina cuatro fases terminales del ciclo de vida, con unos hitos
específicos al final de cada una (toma de requisitos, análisis, diseño e implementación). Los
modelos incremental y evolutivo permiten la creación de productos en etapas parciales,
donde cada etapa agrega funcionalidad a la anterior e incluye las fases del ciclo de vida. El
modelo en espiral incluye la creación de prototipos del proyecto que pasan cíclicamente por
las fases del ciclo de vida, hasta llegar paulatinamente al producto final, después de validarse
repetidamente los requisitos y diseños del proyecto.
Con respecto a las metodologías se pueden listar las siguientes, cada una de ellas con una
breve descripción brindando una idea global de las principales características:
SCRUM
Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle. Define un marco para la
gestión de proyectos, que se ha utilizado con éxito durante los últimos 10 años. Está
especialmente indicada para proyectos con un rápido cambio de requisitos. Sus principales
características se pueden resumir en el desarrollo mediante iteraciones y reuniones durante
todo el proyecto (Schwaber, K., & Beedle, M. 2002). La primera que corresponde a el
desarrollo de software se realiza mediante iteraciones, denominadas sprints cada uno de estos
con una secuencia de fases (visualización, planeación, análisis y propuesta), con una duración
de 30 días. El resultado de cada sprint es un incremento ejecutable que se muestra al cliente.
La segunda característica importante son las reuniones a lo largo proyecto. Éstas son las
verdaderas protagonistas, especialmente la reunión diaria de 15 minutos del equipo de
desarrollo para coordinación e integración (Schwaber, K., & Beedle, M. 2002).
Crystal Methodologies
Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por
estar centradas en las personas que componen el equipo (de ellas depende el éxito del
proyecto) y la reducción al máximo del número de artefactos producidos (Cockburn, A.
2002). Han sido desarrolladas por Alistair Cockburn(Cockburn, A. 2002). El desarrollo de
software se considera un juego cooperativo de invención y comunicación, limitado por los
recursos a utilizar (Cockburn, A. 2002). El equipo de desarrollo es un factor clave, por lo que
se deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas
de trabajo en equipo definidas (Cockburn, A. 2002). Estas políticas dependerán del tamaño
del equipo, estableciéndose una clasificación por colores; por ejemplo, Crystal Clear (3 a 8
miembros) y Crystal Orange (25 a 50 miembros) (Cockburn, A. 2002).
Dynamic Systems Development Method (DSDM)
Define el marco para desarrollar un proceso de producción de software. Nace en 1994 con el
objetivo de crear una metodología RAD unificada (Stapleton, J. 1997). Sus principales
características es ser un proceso iterativo e incremental, y el equipo de desarrollo y el usuario
trabajan juntos (Stapleton, J. 1997). Propone cinco fases: estudio viabilidad, estudio del
negocio, modelado funcional, diseño y construcción, y finalmente implementación
34
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
(Stapleton, J. 1997). Las tres últimas son iterativas, además de existir realimentación a todas
las fases (Stapleton, J. 1997).
Adaptive Software Development (ASD)
Su impulsor es Jim Highsmith. Sus principales características son: iterativo, orientado a los
componentes software más que a las tareas y tolerante a los cambios (Highsmith, J. 2013).
El ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y
aprendizaje (Highsmith, J. 2013). En la primera de ellas se inicia el proyecto y se planifican
las características del software; en la segunda desarrollan las características y finalmente en
la tercera se revisa su calidad, y se entrega al cliente (Highsmith, J. 2013). La revisión de los
componentes sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo
(Highsmith, J. 2013).
Feature-Driven Development (FDD)
Define un proceso iterativo que consta de cinco pasos (1) Estudio de Viabilidad, (2) Estudio
del Negocio, (3) Modelado Funcional, (4) Diseño y Construcción y (5) Implementación
(Mendes Calo, K., et al., (2010). Las iteraciones son cortas (hasta dos semanas). Se centra en
las fases de diseño e implementación del sistema partiendo de una lista de características que
debe reunir el software. Sus impulsores son Jeff De Luca y Peter Coad (Coad, P., Luca, J.
D., y Lefebvre, E. 1999).
Lean Development (LD)
Definida por Bob Charette’s a partir de su experiencia en proyectos con la industria japonesa
del automóvil en los años 80 y utilizada en numerosos proyectos de telecomunicaciones en
Europa (Poppendieck, M., & Poppendieck, T. 2003). En LD, los cambios se consideran
riesgos, pero si se manejan adecuadamente se pueden convertir en oportunidades que mejoren
la productividad del cliente (Poppendieck, M., & Poppendieck, T. 2003). Su principal
característica es introducir un mecanismo para implementar dichos cambios (Poppendieck,
M., & Poppendieck, T. 2003).
Extreme Programming(XP)
La metodología XP se considera una metodología de desarrollo leve, al igual que el resto de
metodologías agiles trata de resolver los problemas de entrega de software de calidad de
manera rápida, satisfacer las necesidades y objetivos de negocio que siempre son cambiantes
(Letelier, P. 2006). No es aplicable a todo tipo de proyecto más bien a proyectos con equipos
pequeños o medianos es decir de dos a 12 personas (Letelier, P. 2006).
Kanban
De acuerdo a Acevedo et al. (2001), Kanban es una técnica de gestión de producción basada
en un sistema pull (halar) que se fundamenta en la autogestión de los procesos, eliminando
la programación centralizada. Se produce y se transporta lo que se demanda en los procesos
consumidores, manteniendo en rotación sólo aquellas cantidades que garantizan la
continuidad del consumo. Cuando se interrumpe el consumo se detiene la producción. Es una
herramienta para conseguir la producción “Justo a Tiempo” (JIT).
35
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
36
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
37
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
costos y los gastos en que incurre la organización para realizar su actividad y que rige su
comportamiento, son de vital importancia para la toma de decisiones de una manera rápida y
eficaz, esto hace que actualmente una metodología de costeo tome gran importancia frente a
las necesidades de los encargados del manejo de información.
38
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
39
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Figura 5 - Modelo de ciclo de vida de tipo Cascada (Aycart, Ginestá & Hernández, 2007)
Incremental y evolutivo: Los modelos incremental y evolutivo son una variación del
modelo en cascada en la que éste se aplica a subconjuntos del proyecto. Dependiendo de si
los subconjuntos son partes del total (modelo incremental) o bien versiones completas, pero
con menos prestaciones (modelo evolutivo) se aplicará uno u otro (Aycart, Ginestá &
Hernández, 2007).
Espiral: El modelo en espiral se basa en la creación de prototipos del proyecto, que pasan
por las fases anteriores, y que van acercándose sucesivamente a los objetivos finales, como
se puede observar la Figura 6. Así pues, se examina y valida repetidamente los requisitos y
diseños del proyecto antes de acometer nuevas fases de desarrollo (Aycart, Ginestá &
Hernández, 2007).
40
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Figura 6 - Modelo de ciclo de vida de tipo Espiral (Aycart, Ginestá & Hernández, 2007).
Finalmente, el modelo iterativo o incremental es el que permite que las fases de análisis,
diseño, desarrollo y pruebas se retroalimenten continuamente, y que empiecen lo antes
posible como visualizamos en la Figura 7. Permitirá atender a posibles cambios en las
necesidades del usuario o a nuevas herramientas o componentes que los desarrolladores
descubran y que faciliten el diseño o proporcionen nuevas funcionalidades (Aycart, Ginestá
& Hernández, 2007).
41
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Ingeniería de software
Dentro del concepto de ingeniería de software se realizará un comparativo del concepto
planteado por el mismo autor en dos ediciones distintas de su libro.
Como lo menciona (Pressman, R. S., & Troya, J. M. 1988), el software de computadora es el
producto que construyen los programadores profesionales y al que después le dan
42
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
43
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
estos sub-objetivos de segundo nivel definimos un proceso de negocio que deberá dar soporte
a dicho sub-objetivo. Representamos cada proceso del negocio como un caso de uso del
negocio, que inicialmente será descrito de forma textual.
Requerimientos del Negocio
De acuerdo a lo mencionado por (Arias Chaves, M. 2005) un requerimiento es una
descripción de una condición o capacidad que debe cumplir un sistema, ya sea derivada de
una necesidad de usuario identificada, o bien, estipulada en un contrato, estándar,
especificación u otro documento formalmente impuesto al inicio del proceso.
Los requerimientos de software pueden dividirse en 2 categorías: requerimientos funcionales
y requerimientos no funcionales.
Los requerimientos funcionales son los que definen las funciones que el sistema será capaz
de realizar, describen las transformaciones que el sistema realiza sobre las entradas para
producir salidas. Es importante que se describa el ¿Qué? y no el ¿Cómo? se deben hacer esas
transformaciones. Estos requerimientos al tiempo que avanza el proyecto de software se
convierten en los algoritmos, la lógica y gran parte del código del sistema.
Por otra parte, los requerimientos no funcionales tienen que ver con características que de
una u otra forma puedan limitar el sistema, como, por ejemplo, el rendimiento (en tiempo y
espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo),
mantenimiento, seguridad, portabilidad, estándares, etc.
Es importante no perder de vista que un requerimiento debe ser:
Especificado por escrito: Como todo contrato o acuerdo entre dos partes. Posible de
probar o verificar. Si un requerimiento no se puede comprobar, entonces ¿cómo se
sabe si se cumplió con él o no?
Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su redacción
debe ser simple clara para aquellos que vayan a consultarlo en un futuro.
Completo: Un requerimiento está completo si no necesita ampliar detalles en su
redacción, es decir, si se proporciona la información suficiente para su comprensión.
Consistente: Un requerimiento es consistente si no es contradictorio con otro
requerimiento.
No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretación.
El lenguaje usado en su definición, no debe causar confusiones al lector
Como lo describe (Arias Chaves, M. 2005) mencionando a (Herrera, 2003), existen cuatro
actividades básicas que se tienen que llevar a cabo para completar el proceso de
determinación de requerimientos:
Extracción: Esta fase representa el comienzo de cada ciclo. Extracción es el nombre
comúnmente dado a las actividades involucradas en el descubrimiento de los
requerimientos del sistema. Aquí, los analistas de requerimientos deben trabajar junto
al cliente para descubrir el problema que el sistema debe resolver, los diferentes
44
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
servicios que el sistema debe prestar, las restricciones que se pueden presentar, etc.
Es importante, que la extracción sea efectiva, ya que la aceptación del sistema
dependerá de cuan bien éste satisfaga las necesidades del cliente.
Análisis: Sobre la base de la extracción realizada previamente, comienza esta fase en
la cual se enfoca en descubrir problemas con los requerimientos del sistema
identificados hasta el momento. Usualmente se hace un análisis luego de haber
producido un bosquejo inicial del documento de requerimientos; en esta etapa se leen
los requerimientos, se conceptúan, se investigan, se intercambian ideas con el resto
del equipo, se resaltan los problemas, se buscan alternativas y soluciones, y luego se
van fijando reuniones con el cliente para discutir los requerimientos.
Especificación: En esta fase se documentan los requerimientos acordados con el
cliente, en un nivel apropiado de detalle.
En la práctica, esta etapa se va realizando conjuntamente con el análisis, se puede
decir que la especificación es el "pasar en limpio" el análisis realizado previamente
aplicando técnicas y/o estándares de documentación, como la notación UML
(Lenguaje de Modelado Unificado), que es un estándar para el modelado orientado a
objetos, por lo que los casos de uso y la obtención de requerimientos basada en casos
de uso se utiliza cada vez más para la obtención de requerimientos.
Validación: La validación es la etapa final de la IR. Su objetivo es, ratificar los
requerimientos, es decir, verificar todos los requerimientos que aparecen en el
documento especificado para asegurarse que representan una descripción, por lo
menos, aceptable del sistema que se debe implementar. Esto implica verificar que los
requerimientos sean consistentes y que estén completos.
Se puede apreciar que el proceso de ingeniería de requerimientos es un conjunto
estructurado de actividades, mediante las cuales se obtiene, se valida y se logra dar
un mantenimiento adecuado al documento de especificación de requerimientos, que
es el documento final, de carácter formal, que se obtiene de este proceso. Es necesario
recalcar que no existe un proceso único que sea válido de aplicaren todas las
organizaciones. Cada organización debe desarrollar su propio proceso de acuerdo al
tipo de producto que se esté desarrollando, a la cultura organizacional, y al nivel de
experiencia y habilidad delas personas involucradas en la ingeniería de
requerimientos. Hay muchas maneras de organizar el proceso de ingeniería de
requerimientos y en otras ocasiones se tiene la oportunidad de recurrir a consultores,
ya que ellos tienen una perspectiva más objetiva que las personas involucradas en el
proceso.
Roles del Entorno del Negocio
Una vez se han identificado los procesos de negocio, es preciso encontrar los agentes
involucrados en su realización. Cada uno de estos agentes o actores del negocio desempeña
cierto papel (juega un rol) cuando colabora con otros para llevar a cabo las actividades que
conforman dicho caso de uso del negocio. De hecho, identificaremos los roles que son
jugados por agentes de la propia empresa (que incluyen trabajadores, departamentos y
dispositivos físicos) o agentes externos (como clientes u otros sistemas). Por el momento nos
45
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
centraremos en este último tipo de roles, con los que la organización interactúa para llevar a
cabo sus procesos de negocio. En nuestro ejemplo tenemos los roles Cliente y Proveedor,
claramente externos al sistema (García Molina, J., et, al 2007).
Casos de Uso del Negocio
Los casos de uso permiten entonces describir la posible secuencia de interacciones entre el
sistema y uno o más actores, en respuesta a un estímulo inicial proveniente de un actor, es
una descripción de un conjunto de escenarios, cada uno de ellos comenzado con un evento
inicial desde un actor hacia el sistema. La mayoría de los requerimientos funcionales, sino
todos, se pueden expresar con casos de uso. Según el autor Sommerville, los casos de uso
son una técnica que se basa en escenarios para la obtención de requerimientos (Arias Chaves,
M. 2005).
Prototipos
Durante la actividad de extracción de requerimientos, puede ocurrir que algunos
requerimientos no estén demasiado claros o que no se esté muy seguro de haber entendido
correctamente los requerimientos obtenidos hasta el momento, todo lo cual puede llevar a un
desarrollo no eficaz del sistema final. Entonces, para validar los requerimientos hallados, se
construyen prototipos. Los prototipos son simulaciones del posible producto, que luego son
utilizados por el usuario final, permitiéndonos conseguir una importante retroalimentación
en cuanto a si el sistema diseñado con base a los requerimientos recolectados le permite al
usuario realizar su trabajo de manera eficiente y efectiva. El desarrollo del prototipo
comienza con la captura de requerimientos. Desarrolladores y clientes se reúnen y definen
los objetivos globales del software, identifican todos los requerimientos que son conocidos,
y señalan áreas en las que será necesaria la profundización en las definiciones. Luego de esto,
tiene lugar un “diseño rápido”. El diseño rápido se centra en una representación de aquellos
aspectos del software que serán visibles al usuario (por ejemplo, entradas y formatos de las
salidas). El diseño rápido lleva a la construcción de un prototipo (Arias Chaves, M. 2005).
Casos de Prueba
Para desarrollar software de calidad y libre de errores, el plan de pruebas y los casos de
prueba son muy importantes como lo menciona (Aristegui, J. L. 2010). El Software Test Plan
(STP) se diseña para determinar el ambiente de aplicación de los recursos y el calendario de
las actividades de las pruebas, se debe identificar el dominio y sus características a probar, lo
mismo que el tipo de pruebas a realizar. Un caso de prueba bien diseñado tiene gran
posibilidad de llegar a resultados más fiables y eficientes, mejorar el rendimiento del sistema,
y reducir los costos en tres categorías: productividad, menos tiempo para escribir y mantener
los casos; capacidad de prueba, menos tiempo para ejecutarlos; y programar la fiabilidad
estimaciones más fiables y efectivas
Otro concepto que seguiremos dentro de este trabajo (Puello, O. 2013) mostrado también en
la Figura 9, es que los casos de prueba son especificaciones de las entradas para la prueba y
la salida esperada del sistema más una afirmación de lo que se está probando. Los datos de
prueba son las entradas que han sido ideadas para probar el sistema. Los datos de prueba a
veces pueden generarse automáticamente. La generación automática de casos de prueba es
46
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
imposible. Las salidas de las pruebas solo pueden predecirse por personas que comprenden
lo que debería hacer el sistema.
Las pruebas exhaustivas, en las que cada posible secuencia de ejecución del programa es
probada, son imposibles. Las pruebas, por lo tanto, tiene que basarse en un subconjunto de
posibles casos de prueba. Idealmente, algunas compañías deberían tener políticas para elegir
este subconjunto en lugar de dejar solo al equipo de desarrollo. Estas políticas podrían basarse
en políticas generales de pruebas, tal como una política en la que todas las sentencias de los
programas deberían ejecutarse al menos una vez.
Documentación
Doxygen
Además de toda documentación que podría ser generada en base a los puntos anteriores es
necesario la producción de documentación a nivel de código en donde el mantenimiento de
la aplicación no requiera un esfuerzo grande por parte de los desarrolladores.
Es necesario abordar una automatización de generación de documentación legible
entendiendo esta documentación, no solo como un contenido añadido al programa, sino más
bien como una característica intrínseca durante la generación del programa. En este
paradigma el programador escribe y tanto el humano como la maquina pueden leer. Puesto
que la máquina y el ser humano leen de forma diferente es necesario proveer al programador
de diferentes herramientas para generar paralelamente al código, distintas representaciones
semánticamente representativas (Asensio, J. J. et al., 2013).
47
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
De acuerdo a las recomendaciones que presenta Doxygen tenemos los puntos en los que será
conveniente documentar:
¿de qué se encarga una clase? ¿un paquete?
¿qué hace un método?
¿cuál es el uso esperado de un método?
¿para qué se usa una variable?
¿cuál es el uso esperado de una variable?
¿qué algoritmo estamos usando? ¿de dónde lo hemos sacado?
¿qué limitaciones tiene el algoritmo? ¿… la implementación?
¿qué se debería mejorar … si hubiera tiempo?
¿Cuándo hay que poner un comentario?
Por obligación deberá ser colocado al principio de cada clase, al principio de cada método y
ante cada variable de clase. Por conveniencia (una línea) debera ser colocado al principio
de fragmento de código no evidente y a lo largo del bucle. Finalmente, por si acaso (una
línea) siempre que se realice algo fuera de los estándares y siempre que el código no sea
evidente.
Javadoc
De acuerdo a lo que nos menciona el sitio web de Oracle, Javadoc es una herramienta para
generar la documentación de la API en formato HTML desde los comentarios del doc en el
código fuente, es considerado el estándar de la industria para documentar clases de java.
Esta herramienta se encuentra ampliamente documentada y su ayuda clasificada en los
siguientes puntos: 1) Javadoc FAQ - Esta FAQ cubre desde dónde descargar la herramienta
Javadoc, cómo encontrar una lista de errores conocidos y peticiones de características,
soluciones para errores conocidos, cómo aumentar la memoria de Javadoc y algunos puntos
más. 2)Documentación de Javadoc - Mejoras, Doclet (clases en Java que especifican el
contenido y el fomato de salida de la herramienta javadoc) estándar, descripción de Doclet,
API Doclet y Taglet. 3)Páginas de referencia de Javadoc. 4)Cómo escribir comentarios de
Doc para convenciones de Javadoc - Sun y sus especificaciones para escribir comentarios de
la documentación. 5)Requisitos para la escritura de especificaciones API - Requisitos
estándar utilizados al escribir la especificación Java 2 Platform. Cubre los requisitos de
paquetes, clases, interfaces, campos y métodos para satisfacer las aserciones.
Gestión de riesgos
Como cualquier actividad humana, el desarrollo de un proyecto incluye la ocurrencia de
riesgos, los cuales son eventos o condiciones inciertas, que, si se producen, afectan de manera
positiva o negativa al menos un objetivo del proyecto (Pressman, 2010). Una acertada gestión
de riesgos es la mejor manera de mitigar un riesgo o un conjunto de estos, ya que permite
identificar, analizar y responder a los riesgos a lo largo de la vida de un proyecto, con el
propósito de aumentar la probabilidad y el impacto de los eventos positivos y disminuir la de
los eventos adversos. Este proceso dentro del ciclo de desarrollo de un proyecto de software
48
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
49
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
50
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Tabla de riesgos
Proporciona una técnica simple de proyección de riesgos, la estructura básica la podemos
observar en la Figura 11:
Conclusiones
Al considerar los componentes del análisis y diseño para el desarrollo de software resumidos
en este capítulo será posible adaptarlos al uso y aplicación dentro de la metodología de
desarrollo Scrum.
Los componentes utilizados dentro de la metodología de desarrollo partiendo desde el
modelo de ciclo de vida es el cascada ya que se realizarán diferentes prototipos o entregables
para cada una de las secciones del aplicativo y mediante es modelo es posible recorrer todos
los pasos para cada una de ellas; los componentes de modelado de negocio analizados son
los recomendados dentro de la metodología de desarrollo por su facilidad de uso y amplia
documentación. La documentación se generará mediante la plataforma Javadoc por su
documentación y adaptabilidad. Por último, la gestión de riesgos será en base a lo
mencionado por (Pressman, R. S. 2010) ya que se cuenta con la teoría y ejemplos necesarios
para adaptarlos a la metodología.
51
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
52
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
53
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
El motor de base de datos escogido para el desarrollo del proyecto corresponde a PostgreSQL
Para esto se consideró un análisis proporcionado por (Aránega Hernández, A. 2015) donde
realiza un análisis detallado tanto de PostgreSQL y MySQL, si bien es cierto la conclusión
en dicho documento es MySQL, en el presente trabajo se toma en cuenta puntos referentes a
algunas ventajas como son: Multiplataforma, bloqueo a nivel de registro y la integridad
referencial las cuales son consideradas de peso al momento de realizar gran cantidad de
cálculos. Este mismo autor coloca estos puntos como características ganadoras de
PostreSQL, sobre su rival en este estudio.
BPM
BPMN vs IDEF
Dentro del análisis presentado por Abdelhady (2015) en el que realiza un comparativo entre
los modelos BPMN e IDEF describe ventajas y desventajas de cada uno de ellos; las cuales,
de acuerdo al proyecto que se pretende desarrollar se tomaron en cuenta las ventajas de
BPMN sobre IDEF. Por ejemplo, El modelo BPMN posee más detalle que el modelo IDEF,
ayuda a identificar instantáneamente los problemas en la secuencia o asignación de
actividades a los artistas, intérpretes o ejecutantes (Abdelhady, I. A. 2015). BPMN usa una
notación de "swim-lane" (carril de natación), mostrando las actividades dentro de los
swimlanes que indican la actividad de cada ejecutante, lo que da una visión clara sobre el
flujo de trabajo y "lo que está pasando ¿en? ¿Y quién hace qué?" para modelar el análisis
(Abdelhady, I. A. 2015). BPMN es un modelo más estructurado, compuesto, coherente y
consistente, capaz de ejecutar y cambiar continuamente los procesos de negocios de extremo
a extremo (Abdelhady, I. A. 2015).
Una vez establecido el modelo BPMN es imperativo generar un modelo automatizable de
documentación de procesos en los que la empresa podrá estandarizarlos y automatizarlos. La
Tabla 3, proporciona un formato guía para documentar la automatización de procesos. Es
labor de los encargados del proyecto definir los campos necesarios dentro de la
documentación para personalizar la estructura de la tabla a las necesidades específicas.
Introducción o motivación del manual
Autor del modelo/responsable de la documentación
Objeto del manual
Definición de los elementos del BPMN
Marco normativo
Definiciones
Estructura organizacional
Mapa de procesos
Clave o código, versión y fecha de generación de documento
Nombre del proceso
Responsable o dueño del proceso
Objetivo del proceso
Descripción o alcance del proceso
54
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Análisis de datos
Dentro de esta sección se pretende generar los conocimientos teóricos necesarios para
generar modelo para la inspección y transformación de datos ingresados dentro de la
plataforma, permitiendo tomar decisiones de manera más efectiva.
Simulación Montecarlo
La simulación Monte Carlo es una técnica matemática computarizada que permite tener en
cuenta el riesgo en análisis cuantitativos y tomas de decisiones. Esta técnica es utilizada en
diferentes campos como nos menciona (Palisade 2000), por esta razón se generó un modelo
de datos para el caso específico de manufactura, en el que se pretende realizar un análisis y
tomar decisiones de datos referentes a nuevos productos, extensión de líneas de producto y
55
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
56
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
pudiendo integrar gran cantidad de paquetes y plugins por defecto y Netbeans, igualmente
diseñado mayoritariamente para soportar el lenguaje Java sin embargo esta más enfocado a
soportar aplicaciones basadas en MVC. Un ejemplo de este método se encuentra en la Figura
12.
Conclusiones
Este capítulo presenta un análisis comparativo de diferentes herramientas necesarias para el
desarrollo del software, en base a las necesidades de desarrollo y a la aplicación de TDABC
en empresas de producción. Para este fin, como las más opcionadas para el cumplimiento de
los objetivos planteados se han escogido las siguientes herramientas: en el caso de lenguaje
de programación se menciona Java; el Framework a usar y que complementa el lenguaje
antes mencionado es JSF; el almacenamiento de datos se realizará en una base de datos
PostgreSQL; para el manejo de los procesos de negocio se escogió BPMN; y, finalmente,
para el análisis de datos y optimización se usará la herramienta @Risk de la empresa Palisade.
57
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
58
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Conclusiones
Del análisis realizado en este capítulo se desprende que el uso de la metodología TDABC
dentro de un software se basa en varias investigaciones y sobre todo de un prototipo
denominado TD-ABC-D. Si bien es cierto en el mercado existen varios sistemas que
permiten el cálculo y manejo de los datos no se encuentra información sobre
implementaciones que permitan manejar el flujo completo de un sistema de producción. Es
decir, adaptar las características y necesidades de la empresa a las metodologías TDABC
mediante un software especialmente diseñado para los requerimientos y especificaciones en
el sector productivo.
59
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
60
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
El Daily Scrum es un evento del equipo de desarrollo de quince minutos, que se realiza cada
día con el fin de explicar lo que se ha alcanzado desde la última reunión; lo que se hará antes
de la siguiente; y los obstáculos que se han presentado. Este evento se desarrolla mediante
una reunión que normalmente es sostenida de pie con los participantes reunidos formando un
círculo, esto, para evitar que la discusión se extienda. La Revisión del Sprint ocurre al final
del Sprint y su duración es de cuatro horas para un proyecto de un mes (o una proporción de
ese tiempo si la duración es menor). En esta etapa: el dueño del proyecto revisa lo que se
hizo, identifica lo que no se hizo y discute acerca del Product Backlog; el equipo de desarrollo
cuenta los problemas que encontró y la manera en que fueron resueltos, y muestra el producto
y su funcionamiento. Esta reunión es de gran importancia para los siguientes Sprints
(Cadavid, A. N., et al., 2013).
El Product Backlog es una lista ordenada por valor, riesgo, prioridad y necesidad de los
requerimientos que el dueño del producto define, actualiza y ordena. La lista tiene como
característica particular que nunca está terminada, pues evoluciona durante el desarrollo del
proyecto. El Sprint Backlog es un subconjunto de ítems del Product Backlog y el plan para
realizar en el Incremento del producto. Debido a que el Product backlog está organizado por
prioridad, el Sprint backlog es construido con los requerimientos más prioritarios del Product
backlog y con aquellos que quedaron por resolver en el Sprint anterior. Una vez construido,
el Sprint backlog debe ser aceptado por el equipo de desarrollo, pertenece a éste y solo puede
ser modificado por él. Requerimientos adicionales deben ser incluidos en el Product backlog
y desarrollados en el siguiente Sprint, si su prioridad así lo indica. El Monitoreo de Progreso
consiste en la suma del trabajo que falta por realizar en el Sprint. Tiene como característica
que se puede dar en cualquier momento, lo que le permite al dueño del producto evaluar el
progreso del desarrollo. Para que esto sea posible, los integrantes del equipo actualizan
constantemente el estado de los requerimientos que tienen asignados indicando cuánto
consideran que les falta por terminar. El Incremento es la suma de todos los ítems terminados
61
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
en el Sprint backlog. Si hay ítems incompletos deben ser devueltos al Product backlog con
una prioridad alta para que sean incluidos en el siguiente Sprint. Se considera que un ítem
está terminado si es funcional. La suma de ítems terminados es el producto a entregar
(Cadavid, A. N., et al., 2013).
Al estar diseñado para adaptarse a los cambios en los requerimientos tanto funcionales como
no funcionales, permite que el producto pueda adaptarse en tiempo real a las necesidades de
la empresa. Scrum podría definirse como un Framework para colaboración de equipo efectiva
en el desarrollo de productos complejos resumido en la Figura 14.
62
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
63
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Especificación de Requerimiento
Código: RF01
Nombre: Administración de Procesos
Prioridad: Alta
La Plataforma debe permitir crear, modificar, visualizar y eliminar
un proceso. Para esto el usuario tendrá que asignar actividades al
Descripción:
proceso y establecer relaciones de orden y condicionales entre cada
una de las actividades.
Generación de flujos de secuencia entre subprocesos y
Criterio de
actividades
aceptación:
Visualización correcta de flujos del proceso
Módulo de Administración de Procesos (Procesos
Producto
resultante:
almacenados en la BD)
Especificación de Requerimiento
Código: RF02
Nombre: Administración de Subprocesos
Prioridad: Alta
Solicitado Gestor de Procesos
por:
La Plataforma debe permitir agrupar las actividades de un proceso
Descripción: en subprocesos. Para esto el usuario podrá crear, modificar,
visualizar y eliminar un subproceso.
Cada uno de los componentes de del caso de uso tendrá acompañado una tabla en la que se
describe a detalle su funcionalidad como se muestra en la Tabla 6.
CDU-GP-001 Crear Proceso
Prioridad: Alta
Descripción: El usuario ingresa los datos de un proceso, creando subprocesos,
asignando actividades a subprocesos y estableciendo relaciones de
orden y condicionales entre las actividades y subprocesos.
Disparador: El usuario selecciona la opción de crear nuevo proceso
66
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
67
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
68
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Estructura MVC
Como patrón de arquitectura de software se ha planteado el denominado Modelo-Vista-
Controlador (MVC); en el cual, se divide la estructura del programa en tres partes que se
ejemplifican a continuación tomando como base el modelo conceptual de datos de la
plataforma:
Modelo: existirá uno por cada uno de los componentes del modelo conceptual de datos:
Tiempo, Recursos Materiales, Actividades, etc, cada uno de estos archivos corresponde al
acceso a los datos.
Vista: corresponde a la interacción con el usuario, gestionando los datos tanto de entrada
como de salida.
Controlador: permite la interacción y relación entre el modelo y la vista, dentro de estos
archivos se encontrarán las clases, objetos y sus características
69
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
La ventaja principal de este tipo de arquitectura es que nos permite organizar de mejor manera
el código y, desde el punto de vista de trabajo en equipo, dividir la tarea de cada uno de los
integrantes del equipo de desarrollo.
El patrón asociado a la tecnología Web dentro del proyecto podría resumirse en la Figura 20.
70
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
71
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
72
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
IDE Netbeans
Testing Junit
JSF version
Framework 2.2(estable)
Java Version 7 o superior
Diseño Bootstrap v3.3.7
Base de
Datos PostgreSQL 9.1
BPMN Camunda
Tabla 8 - Resumen de herramientas a utilizar en la aplicación
73
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
74
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Procesos
Actividades
Procesos Procesos
Código Nombre Descripción Departamento Línea de Producción
Table cell Table cell Table cell Table cell Table cell
Table cell Table cell Table cell Table cell Table cell
Table cell Table cell Table cell Table cell Table cell
Table cell Table cell Table cell Table cell Table cell
Table cell Table cell Table cell Table cell Table cell
1
Table cell Proceso
Table cell1 Este
Tablees el proceso 1
cell Departamento
Table cell 1 Líneacell
Table 1
Table cell Table cell Table cell Table cell Table cell
Table cell
Table cell Table
Table cell
cell Table
Table cell
cell Table
Table cell
cell Table
Table cell
cell
Table cell Table cell Table cell Table cell Table cell
Table cell
Table cell Table cell Table cell Table cell Table cell
Table cell Table cell Table cell Table cell Table cell
75
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Nuevo Subproceso
Propiedades de la Actividad
Actividad: text …
Crear Actividad
Código: text
Actividad: text
Descripción:
text
Recursos: text
Responsable: text
Costo: text
Tiempo: text
Guardar o Cancelar
Modificar Proceso
Descripción:
Este es el proceso 1
Misión:
-
Versiones
Crear o Cancelar
76
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Descripción:
text
Misión:
text
Subprocesos
1 Subproceso 1 2 X
2 Subproceso 2 1 3 X
3 Subproceso 3 2 4 Es correcto? 1 X
4 Subproceso 4 3 X
<Nuevo Subproceso>
Crear o Cancelar
77
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
El prototipo funcional será realizado a partir de la capa Vistas del aplicativo, en donde se
tendrá una combinación de HTML y CSS con funcionalidad básica y navegación dentro de
la plataforma.
Las historias de usuario de la aplicación ayudarán a desarrollar y realizar las pruebas
correspondientes a cada uno de los componentes de la aplicación. Para esto se ha definido
una plantilla que ayudará con este objetivo.
78
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
79
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
80
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Gestión de Riesgos
De acuerdo a lo presentado por Cordero et al. (2013), para el conjunto de riesgos definidos
dentro del desarrollo de software se plantearon algunos de los riesgos más importantes en lo
que corresponde a este proyecto, los cuales se encuentran nombrados en la Tabla 9.
Nombre del Riesgo Valor de dominio Tipo
Experiencia en la plataforma Baja
Nivel de conocimiento de las
Media
herramientas Ordinal
Estabilidad de los
Estables
requerimientos
Información que se maneja Confidencial Literal
Cantidad de funcionalidades
121
medias
Numérico
Cantidad de funcionalidades
48
complejas
Tabla 9 - Conjunto de rasgos de riesgos definidos para la aplicación en base a (Cordero Morales, D et al., 2013)
81
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Capítulo 8: Conclusiones
Introducción
Este capítulo final pretende dar una visión global de todo el análisis, proporcionando la
experiencia de análisis y diseño de la plataforma, realizar una alineación de las ventajas del
TDABC con las ventajas del uso de la plataforma y de igual manera realizar un comparativo
de las limitaciones con las bondades del aplicativo para verificar si algunas de estas fueron
eliminadas o minimizadas provocando en conjunto una versión mejorada de la metodología
TDABC.
Ventajas y alineación de la metodología TDABC con el uso de la aplicación
Tomando como base las ventajas del TDABC que se mencionó en el capítulo 2 se realiza un
resumen del incremento de las ventajas del uso de la plataforma propuesta en el trabajo para
manejo de TDABC. Simplicidad: El uso de una herramienta de software para crear
diagramas de procesos, asignándoles tiempos y costos por actividad, hace que la construcción
de modelos de costeo por procesos sea una tarea más simple e intuitiva, lo que simplifica aún
más la construcción de modelos de costo. Reducción de complejidad en operaciones: Esta
reducción de complejidad se acentúa mediante la automatización de los cálculos de costos
provista por la plataforma. El usuario del software solamente requerirá asignar responsables
y recursos utilizados a cada actividad de un proceso y el software se encargará de realizar la
construcción de las ecuaciones de tiempo y calcular los resultados del análisis TDABC por
procesos. Desagregación de costos de procesos: Los resultados del análisis TDABC
utilizando la plataforma informática permitirán visualizar y detallar los costos de las
diferentes situaciones o flujos que pueden darse en el desarrollo de un proceso. Visualización
de la capacidad de utilización: La plataforma aprovecha esta ventaja de TDABC debido a
que se pueden realizar varias consultas de información por departamento, proceso,
subproceso o actividad, para identificar como se están utilizando los recursos materiales y
humanos, con la finalidad de realizar una mejor planificación de su asignación para el
desarrollo de las actividades.
Versatilidad del sistema: Dado que, el software propuesto en este trabajo tiene como objetivo
su uso en las empresas del ámbito de producción, se validará esta ventaja de TDABC al
aplicarlo en tres empresas de caso de estudio diferentes. Modularidad y versatilidad de
modelos de costeo: El modularidad que provee TDABC al análisis de costos es una ventaja
que se resalta aún más con la implementación de la plataforma. Esto se debe a que, la
actualización de información sobre el desarrollo de actividades requerirá solamente el ingreso
de datos a la plataforma o la creación de una nueva versión de un proceso. Capacidad de
simulación de procesos: La plataforma aprovecha esta capacidad al momento de crear y
visualizar diferentes flujos de procesos. Esto sumado al uso de BPMN con su detalle de
costos, permite, al usuario del sistema informático, identificar las posibilidades de mejora
(ej. procesos, actividades, recursos y tiempo). Se puede potenciar este beneficio aplicando
herramientas de simulación y optimización automática sobre los datos obtenidos de la
plataforma mediante la generación de modelos adaptados a las necesidades específicas de la
empresa.
82
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
83
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
84
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Mediante el uso de BPMN es posible ser más específico en los efectos y los tiempos que se
tienen al momento de la interacción de las actividades manejando los datos e incluyéndoles
en el modelo.
Recomendaciones
Las recomendaciones principales se enfocarán al diseño de la plataforma en donde se deberá
tener en cuenta la calidad de la información para la creación de los prototipos necesarios y
retroalimentación por parte del usuario, para esto es necesario usar la información que la
empresa dispone actualmente y mediante la serie de iteraciones que generara la metodología
Scrum mejorar la calidad de manera secuencial para las pruebas respectivas. Otra
recomendación enfocada a la información hace referencia a la posibilidad de definir de
manera más clara los costos exactos y aproximados, es decir los costos que tan exactos son
y los aproximados que tan aproximados son. La recomendación relacionada con las
características específicas de las empresas en el sector productivo hace que varios de los
aspectos del diseño no se apliquen completamente a otras compañías de diferentes sectores,
pero permitirá iniciar el proceso para un planteamiento enfocado a otras áreas para un futuro
comparativo y análisis.
Una vez culminado todo el análisis se propone como recomendaciones adicionales realizar
investigaciones para la integración con Balance Scored Card(BSC)para la obtención de
indicadores a partir de la estrategia de negocios en base a los resultados obtenidos por la
plataforma. Otra recomendación adicional podría ser la implementación de sistemas de
calidad sobre la plataforma denominado Total Quality Management (TQM) el cual permitirá
el crecimiento continuo en todas las áreas de la organización.
Comentarios Finales
El análisis de costos, procesos y optimización de datos resulta importante e innovador en la
industria de la producción y de forma específica en la de ensamblaje en el Ecuador. Por este
motivo y para aprovechar las experiencias y resultados obtenidos en investigaciones previas,
se ha propuesto una arquitectura para el desarrollo de un software de soporte del modelo de
gestión de procesos, costos que automatice y mejore el análisis TDABC en industrias de
ensamblaje dentro del sector productivo. Este estudio trata de actualizar y adaptar
experiencias previas, para aplicarla a los procesos de empresas de producción y por ende al
de ensamblaje. La implementación de una plataforma de gestión de TDABC permitirá
obtener resultados de costos de forma más precisa, modelando los procesos por actividades
y facilitando la visualización de los recursos sub-utilizados y sobre utilizados; además de la
obtención de modelos de optimización y análisis de datos. La plataforma ayudará a los
85
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Bibliografía
Abdelhady, I. A. (2015). A comparative approach to map BIM workflow in US mid-size
firms using BPMN and IDEF methods. of Architectural Research, 509.
Acevedo Suárez, J. A., Urquiaga Rodríguez, A. J., & Gómez Acosta, M. (2001). Gestión de
la cadena de suministro. Centro de estudio Tecnología de Avanzada (CETA) y laboratorio
de Logística y Gestión de la producción (LOGESPRO). Ciudad de La Habana.
Ai-Min, D. E. N. G., Hong, L. I., & Hao, T. I. A. N. (2016). Based on the Cloud ERP and
TDABC for the SMEs’ Logistics Cost Accounting. DEStech Transactions on Engineering
and Technology Research, (sste).
Alfonso Salinas, “Sistemas de Costeo,” 24-Oct-2011. [Online]. Available:
[Link]
Andradre, E. y Elizalde, B. (2017). LEVANTAMIENTO DE PROCESOS DE
ENSAMBLAJE DE TELEVISORES PARA LA EMPRESA SURAMERICANA DE
MOTORES MOTSUR CIA. LTDA (Documento de Trabajo). Cuenca: Universidad de
Cuenca.
Aránega Hernández, A. (2015). Almacenes de datos: Análisis de ventas de una
compañía (Master's thesis, Universitat Oberta de Catalunya).
86
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Arango Serna, M. D., Campuzano Zapata, L. F., & Zapata Cortes, J. A. (2015). Mejoramiento
de procesos de manufactura utilizando Kanban. Revista Ingenierías Universidad de
Medellín, 14(27), 221-233.
Arias Chaves, M. (2005). La ingeniería de requerimientos y su importancia en el desarrollo
de proyectos de software. InterSedes: Revista de las Sedes Regionales, 6(10).
Arias, M. A. G. (2013). Responsive Design. Desarrolla webs sensitivas con Bootstrap. IT
Campus Academy.
Aristegui, J. L. (2010). Los Casos de Prueba en la Prueba del Software. Lámpsakos, (3), 27-
34.
Asensio, J. J., Mora, A. M., Garcıa-Sánchez, P., & Merelo, J. J. (2013). Code Reimagined:
Gamificación a través de la visualización de código. In Actas del Primer Simposio Español
de Entretenimiento Digital (p. 72).
Ávila-Gutiérrez, M. J., Aguayo-González, F., Marcos-Bárcena, M., Lama-Ruiz, J. R., &
Peralta-Álvarez, M. E. (2017). Reference holonic architecture for sustainable manufacturing
enterprises distributed. DYNA, 84(200), 160-168.
Avison, D., & Fitzgerald, G. (2003). Information systems development: methodologies,
techniques and tools. McGraw Hill.
Aycart Pérez, D., Gibert Ginestà, M., & Hernández Matías, M. (2007). Ingeniería del
software en entornos del software libre, febrero 2007.
Aycart, D., Ginestá, M. y Hernández, M. (2007). Ingeniería de Software en Entornos de
[Link]: Universitat Oberta de Catalunya.
BARRET, R. (2005). Time-Driven Costing: the bottom line on the new ABC. Business
Performance Management, 11, 35-39.
Benedetto, M. G., Carabio, A. L. R., Alvez, C. E., Fernández, M., Etchart, G., Cabrera, S.
A., ... & Benítez, H. D. (2015, May). Selección de lenguajes orientados a objetos para un
estudio comparativo y análisis de rendimiento. In XVII Workshop de Investigadores en
Ciencias de la Computación (Salta, 2015).
Cabrera Encalada, P., & Ordoñez Parra, C. (2012). Tesis. Recuperado a partir de
[Link]
Cadavid, A. N., Martínez, J. D. F., & Vélez, J. M. (2013). Revisión de metodologías ágiles
para el desarrollo de software. Prospectiva, 11(2), 30-39.
Camarena Sagredo, J. G., Trueba Espinosa, A., Martínez Reyes, M., & López García, M. D.
L. (2016). Redalyc. Automatización de la codificación del patrón modelo vista controlador
(MVC) en proyectos orientados a la Web. Ciencia Ergo Sum, 19(3), 239-250.
87
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Capilla Rafael, Jansen Anton, Tang Antony, Avgeriou Paris, Ali Babar Muhammad. (2016).
10 years of software architecture knowledge management: Practice and future.
ScienceDirect, 116, 191-205.
Cataldi, Z. (2000). Una metodología para el diseño, desarrollo y evaluación de software
educativo (Doctoral dissertation, Facultad de Informática).
Catalinas, E. Q. (2002). Sistemas operativos y lenguajes de programación. Editorial
Paraninfo.
CERT, Software Engineering Institute, Carneige Mellon University, Octave Risk Analisys
Methodology, [Link] Fecha de última
consulta: 18 de noviembre de 2015.
Coad, P., Luca, J. D., & Lefebvre, E. (1999). Java modeling color with UML: Enterprise
components and process with Cdrom. Prentice Hall PTR.
Cockburn, A. (2002). Agile software development (Vol. 177). Boston: Addison-Wesley.
Contreras, H., & McCawley, A. (2006). Implementación de un modelo de costos ABC en
una empresa vitivinícola. Economía Agraria, 10, 25-36.
Cooper, R. (1989). The Rise of Activity-based Costing: How Many Cost Drivers Do You
Need, and how Do You Select Them?.
Cooper, R., & Kaplan, R. S. (1988). Measure costs right: make the right decisions. Harvard
business review, 66(5), 96-103.
Cordero Morales, D., Ruiz Constanten, Y., & Torres Rubio, Y. (2013). Sistema de
Razonamiento Basado en Casos para la identificación de riesgos de software. Revista Cubana
de Ciencias Informáticas, 7(2), 222-239.
Córdova Espinoza, R. F., & Cuzco Sarango, B. E. (2013). Análisis comparativo entre bases
de datos relacionales con bases de datos no relacionales(Bachelor's thesis).
Croce, L. D., & Salinas, J. A. (2016). Flexibilidad en bases de datos NoSQL sobre ambientes
web mining (Doctoral dissertation, Facultad de Informática).
Dávila, M. R. (2017). Investigación en Progreso: Estudio Comparativo de la Incidencia de
los Lenguajes de Programación en la Productividad Informática. Revista Latinoamericana de
Ingenieria de Software, 4(6), 255-258.
de Arbulo López, P. R., & Santos, J. F. (2011). Innovación en gestion de costes: del abc al
tdabc. Dirección y organización, (43), 16-26.
Dejnega, O. (2011). Method time driven activity based costing–Literature review. Journal of
Applied Economic Sciences (JAES). (1 (15)), 9–15
88
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
89
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin
Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian
Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
(2001). Manifiesto Ágile. 07/22/2017, de [Link] Sitio web:
[Link]
Laurentiis Gianni Renato. (2005). BPMS, Tecnología para la Integración y Orquestación de
Procesos, Sistemas y Organización. 2017, de [Link] Sitio web:
[Link]
Letelier, P. (2006). Metodologías ágiles para el desarrollo de software: eXtreme
Programming (XP).
López Supelano, K. (2015). Modelo de automatización de procesos para un sistema de
gestión a partir de un esquema de documentación basado en Business Process Management
(bpm). Universidad & Empresa, 17(29).
Meléndez Reyes, H. (2004). Gestión de Producción. Bucaramanga: Universidad
SantoTomás.
Mendes Calo, K., Estévez, E. C., & Fillottrani, P. R. (2010). Evaluación de metodologías
ágiles para desarrollo de software. In XII Workshop de Investigadores en Ciencias de la
Computación.
Mesías, J. L. (2006). La Comprensión de los Costos en las Organizaciones desde la
Perspectiva Cualitativa (Master's thesis, Universidad EAFIT).
Mohammad Imran, Dr. Abdulrahman A. Alghamdi, Bilal Ahmad. (March 2016).
SOFTWARE ENGINEERING: ARCHITECTURE, DESIGN AND FRAMEWORKS.
Namazi, M. (2009). Performance-focused ABC: A third generation of activity-based costing
system. Cost management, 23(5), 34.
Namazi, M. (2016). Time-driven activity-based costing: Theory, applications and
limitations. Iranian Journal of Management Studies, 9(3), 457.
Nitin Upadhyay. (2016). Systematic Decision-making Framework for Evaluation of
Software Architecture. ScienceDirect, 91, 599-608.
Palisade . (2000). Simulación Monte Carlo. 18 de Julio de 2017, de Palisade Corp Sitio web:
[Link]
Pantoja, L., & Pardo, C. (2016). Evaluando la Facilidad de Aprendizaje de Frameworks mvc
en el Desarrollo de Aplicaciones Web. Publicaciones e Investigación, 10, 129-142.
Parra Castrillón, E. (2011). Propuesta de metodología de desarrollo de software para objetos
virtuales de aprendizaje-MESOVA. Revista Virtual Universidad Católica del Norte, (34).
90
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Parra, V. M., Syed, A., Mohammad, A., & Halgamuge, M. N. (2016). Pentaho and Jaspersoft:
A Comparative Study of Business Intelligence Open Source Tools Processing Big Data to
Evaluate Performances. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER
SCIENCE AND APPLICATIONS, 7(10), 20-29.
Poppendieck, M., & Poppendieck, T. (2003). Lean Software Development: An Agile Toolkit:
An Agile Toolkit. Addison-Wesley.
Pressman, R. S. (2010). Ingeniería del Software UIn enfoque práctico, Septima edición ed.
Pressman, R. S., & Troya, J. M. (1988). Ingeniería del software.
Pressman, Roger. S. (2010). Ingeniería de Software un Enfoque Práctico. México, D.F: Mc
Graw Hill.
Project Management Institute. (2013). A guide to the project management body of knowledge
(PMBOK guide). Newtown Square, Pa: Project Management Institute.
Puello, O. (2013). Modelo de verificación y Validación basado en CMMI. Investigación e
Innovación en Ingenierías, 1(1).
Quijada, F., & Ignacio, G. (2015). Implementación de un prototipo de la Extensión dqBP en
BPMN.
Quispe, H. G. M., Capcha, R. O. T., Morales, P. A. G., & Quintana, C. M. (2017). Modelado
BPMN (Business process managment notation) para la gestión de procesos. CIENCIA &
DESARROLLO, (18).
Ramirez Padilla, D. N. (2008). Contabilidad Administrativa. México, D.F.: Mc Graw Hill.
Reynoso, R. N., & Esteban, F. C. L. (2010, October). Propuesta de una Metodología de BPM
para el Modelado AS IS y TO BE de Procesos de Negocio de Bioseguridad (Terrorismo
Alimentario), dentro del Contexto de la Cadena de Suministro. Aplicación en la Industria
Mexicana Alimentaria. In 4th International Conference On Industrial Engineering and
Industrial Management (pp. 258-267).
Salgado, C. H., Peralta, M., Riesco, D. E., & Montejano, G. A. (2016). Un método para la
evaluación de modelos conceptuales de procesos de negocio basado en lógica difusa. In
XVIII Workshop de Investigadores en Ciencias de la Computación (WICC 2016, Entre Ríos,
Argentina).
Sánchez, J. (2004). Principios sobre bases de datos relacionales. Creative Commons, 1ra ED,
Estados Unidos.
Sanchis, R., Poler, R., & Ortiz, Á. (2009). Técnicas para el Modelado de Procesos de Negocio
en Cadenas de Suministro. Información tecnológica, 20(2), 29-40.
Schwaber, K., & Beedle, M. (2002). Agile software development with Scrum (Vol. 1). Upper
Saddle River: Prentice Hall.
91
Ing. Eduardo Patricio Merchán Sempértegui
Universidad de Cuenca
Schwaber, Ken and Sutherland, Jeff, The Scrum Guide, [Link], 2013
Siguenza Guzman L., Cattrysse, D. (sup.), Verhaaren, H. (cosup.) (2015). Optimal Resource
Allocation and Budgeting in Libraries, 258 pp.
Sigüenza Guzmán, L., Van den Abbeele, A., & Cattrysse, D. (2014). Time-driven activity-
based costing systems for cataloguing processes: a case study.
Siguenza Guzman, L., Van den Abbeele, A., Vandewalle, J., Verhaaren, H., & Cattrysse, D.
(2013). Recent evolutions in costing systems: A literature review of Time-Driven Activity-
Based Costing. Review of Business and Economic Literature, 58(1), 34-64.
Siguenza-Guzman, L., Van den Abbeele, A., Vandewalle, J., Verhaaren, H., & Cattrysse, D.
(2014). Using Time-Driven Activity-Based Costing to support library management
decisions: A case study for lending and returning processes. The Library Quarterly, 84(1),
76-98.
Stapleton, J. (1997). DSDM, dynamic systems development method: the method in practice.
Cambridge University Press.
Tafur, J. C., & Osorio, J. A. (2016). Costeo basado en actividades ABC: gestión basada en
actividades ABM. Ecoe Ediciones.
Tafur, J. C., & Osorio, J. A. (2016). Costeo basado en actividades ABC: gestión basada en
actividades ABM. Ecoe Ediciones.
Tse, M., & Gong, M. (2009). Recognition of idle resources in time-driven activity-based
costing and resource consumption accounting models. Journal of applied management
accounting research, 7(2), 41-54.
Vidal Duarte, E., Morales, E., & Leger, P. (2014). Usando BPMN para modelar procesos en
el área de Ingeniería y Proyectos de una empresa minera del Perú.
92
Ing. Eduardo Patricio Merchán Sempértegui