Está en la página 1de 99

UNIVERSIDAD ALEJANDRO DE HUMBOLDT

FACULTAD DE INGENIERIA
ESCUELA DE INFORMATICA

DESARROLLO DE UN SISTEMA PARA LA ESTIMACIÓN DE COSTO Y


TIEMPO PARA PROYECTOS DE SOFTWARE USANDO EL MODELO
COCOMO II, PARA DESARROLLADORES FREELANCE

Autor: Otniel Rojas


Tutor: Prof. Héctor Urbina

Caracas, noviembre 2019


UNIVERSIDAD ALEJANDRO DE HUMBOLDT
FACULTAD DE INGENIERIA
ESCUELA DE INFORMATICA

DESARROLLO DE UN SISTEMA PARA LA ESTIMACIÓN DE COSTO Y


TIEMPO PARA PROYECTOS DE SOFTWARE USANDO EL MODELO
COCOMO II, PARA DESARROLLADORES FREELANCE

Trabajo de grado presentado para optar al título de ingeniero en informática

Autor: Otniel Rojas


Tutor: Prof. Héctor Urbina

Caracas, noviembre 2019

2
DEDICATORIA

A mi madre, mujer incansable que ha sabido formarme con buenos


hábitos, valores y principios, lo cual me ha ayudado a seguir adelante y
nunca rendirme en los momentos difíciles.
A mi padre que desde Niño me formó y me guío por el camino del bien,
dándome su ejemplo de hombre honesto, trabajador y temeroso de Dios.
También dedicó a mis tres hermanos: Marinés, Arístides y a mi pequeña
Arianna quienes han sido mi mayor motivación y fortaleza para seguir
adelante con mis estudios, metas y proyectos y poder llegar a ser un ejemplo
a seguir.

iii
AGRADECIMIENTO

Agradezco a Jehová Dios por cuidarme y protegerme con su amor infinito


que nunca falla.
A mi familia, amigos, profesores y compañeros que me dieron su apoyo
incondicional para alcanzar la meta propuesta.
Agradezco a todas las personas que de una u otra manera contribuyeron
de forma directa e indirecta en la realización de este trabajo de investigación,
a todos mil gracias ¡Por siempre les estaré agradecido!

Otniel Rojas

iv
INDICE

INTRODUCCION............................................................................................11

CAPITULO I....................................................................................................12

Planteamiento del problema........................................................................12


Interrogantes de la investigación.................................................................15
Objetivo General..........................................................................................16
Objetivos Específicos..................................................................................16
Justificación de la Investigación..................................................................17
Delimitaciones.............................................................................................19
CAPITULO II...................................................................................................23

Antecedentes de la Investigación................................................................23
Bases Teoricas............................................................................................26
Teoría General de sistemas....................................................................26
Teoría de la información..........................................................................27
Teoría sobre Base de Datos....................................................................28
Normalización de bases de datos............................................................29
Integración de datos................................................................................30
Fundamentos de la integración...............................................................31
Teoría de la Ventaja Competitiva............................................................32
Bases Legales.............................................................................................35
Definición de Términos................................................................................37
CAPÍTULO III..................................................................................................40

Diseño y tipo de la investigación.................................................................40


Diseño de la investigación.......................................................................40
Tipo de la investigación...........................................................................41
Población y muestra....................................................................................43
Técnicas e instrumentos de recolección de información............................45

v
Técnicas...................................................................................................45
Instrumentos............................................................................................46
La Validez................................................................................................47
Confiabilidad............................................................................................48
Procedimiento de análisis de los resultados...............................................49
Metodología de Desarrollo del Software.....................................................50
Análisis.................................................................................................50
Determinación de los requerimientos del sistema...............................51
Definición de los objetos......................................................................51
Elaboración del esquema de navegación............................................51
Diseño..................................................................................................51
Diseño funcional...................................................................................52
Diseño físico.........................................................................................52
Etapas de diseño..................................................................................52
Desarrollo.............................................................................................52
CAPÍTULO IV..................................................................................................54

Presentación de los datos...........................................................................54


Análisis General de los Resultados.............................................................62
CAPITULO V...................................................................................................64

Conclusiones...............................................................................................64
Recomendaciones.......................................................................................66
CAPÍTULO VI..................................................................................................67

Formulación de la Propuesta......................................................................67
Diagnóstico de la propuesta.......................................................................67
Denominación de la Propuesta...................................................................68
Objetivos de la Propuesta...........................................................................68
Objetivo General.........................................................................................68
Objetivos Específicos..................................................................................68
Justificación de la Propuesta......................................................................69

vi
Metas...........................................................................................................69
Beneficiarios................................................................................................70
Localización.................................................................................................70
Plan Operativo de Actividades...................................................................70
Estudio de Factibilidad................................................................................71
Factibilidad Técnica....................................................................................72
Factibilidad/ Hardware................................................................................72
Técnica/Software.........................................................................................73
Factibilidad Operativa.................................................................................74
Factibilidad económica...............................................................................74
Factibilidad económica de Hardware.........................................................75
Factibilidad económica de Software.......................................................75
Factibilidad Económica de Capital Humano...........................................76
Metodología de desarrollo del Sistema Propuesto.....................................76
Fase I: Análisis de necesidades..............................................................77
Fase II: Diseño del Sistema.....................................................................77
Fase III: Implementación..........................................................................78
Fase IV: Prueba.......................................................................................79
Fase V: Integración y Mantenimiento......................................................79
Diagrama de flujo........................................................................................80
Diagrama Entidad Relación.....................................................................82
Conclusión y Recomendación.....................................................................84
Conclusión:..............................................................................................84
Recomendaciones...................................................................................84
REFERENCIAS DE BIBLIOGRÁFICAS.........................................................85

vii
INDICE DE CUADROS

Cuadro 1. Operacionalización de las Variables..............................................20

Cuadro 2. Población Objeto de Estudio..........................................................44

Cuadro Nº 3. Factibilidad/ Hardware..............................................................72

Cuadro N° 4. Sistemas operativos y ofimáticos............................................73

Cuadro N° 5. Lenguajes de Programación....................................................73

Cuadro Nº6. Factibilidad económica de hardware.........................................75

Cuadro N° 7. Factibilidad económica de Software........................................75

Cuadro N° 8. Factibilidad Económica de Capital Humano............................76

viii
INDICE DE GRAFICOS

Gráfica 1.- Método para estimar costos..........................................................55

Gráfico 2.- Uso del Método COCOMO II........................................................56

Gráfica 3.- Importancia de contar con una metodología para estimar...........57

Gráfica 4.- Necesidad de la Automatización...................................................58

Gráfica 5.- Beneficio obtenido.........................................................................59

Gráfica 6.- Cumplimiento en los tiempos de entrega......................................60

Grafica 7.- Efectividad de una Aplicación para Estimar Costos.....................61

Gráfico N° 8. Plan de trabajo (Diagrama de Gantt).......................................71

Gráfico Nº9. Metodología de desarrollo..........................................................76

Gráfico Nº10. Implementación........................................................................78

Gráfico Nº11. Diagramas de Flujo para ingreso.............................................81

Gráfico Nº12. Diagramas de Flujo..................................................................82

Gráfico Nº13. Diagrama de Entidad Relación.................................................83

Gráfico Nº14. Pantalla 1. Acceso al Sistema..................................................83

ix
DESARROLLO DE UN SISTEMA PARA LA
ESTIMACIÓN DE COSTO Y TIEMPO PARA
PROYECTOS DE SOFTWARE USANDO EL
MODELO COCOMO II, PARA
DESARROLLADORES FREELANCE.

Autor: Otniel Rojas


Tutor: Prof. Héctor
Urbina
Fecha: Noviembre 2019

Resumen
La presente investigación tiene como objetivo desarrollar un sistema
para la estimación de costo y tiempo para proyectos de software, usando el
modelo COCOMO II, mediante la ejecución de seis objetivos específicos
dirigidos a conocer las métricas empleadas por desarrolladores freelance
para la estimación de costos y tiempo para el desarrollo de software, analizar
tales métricas para el posterior diseño de la interfaz del sistema de
estimación de costo y tiempo, determinar la base de datos a utilizar para el
desarrollo del sistema, ejecutar las pruebas y por ultimo implementar el
sistema. En este sentido, se desarrolla una investigación de campo, tipo
factible, utilizando la técnica de la observación, entrevista y la encuesta
cuyos instrumentos fueron validados efectivamente. Es importante señalar
que existen diversas métricas a emplear para estimar costos y la
determinación de cada una de ellas va estar relacionada por la experiencia
del programador. El modelo COCOMO II permite estimar el costo, el esfuerzo
y el tiempo cuando se planifica una nueva actividad de desarrollo software.
En tal sentido, la investigación tiene como resultado la automatización del
proceso de estimación de costo y tiempo para el desarrollo de software que
permite al programador una mejor planificación de los proyectos que
administra o tiene en desarrollo, así como una mejor asignación de los
recursos necesarios para cada proyecto. El desarrollo de un software es una
actividad compleja que depende principalmente del esfuerzo intelectual y
creatividad de personas que lo realizan, lo cual se ve favorecido con la
automatización del proceso para estimar su costo y tiempo.

Descriptores: Proyecto, Software, Estimación, Costo, tiempo.

x
INTRODUCCION

El presente trabajo de investigación, fue realizado con la finalidad


optar al título de Ingeniero en Informativa en la Universidad Alejandro de
Humboldt, desarrollado en seis capítulos, el primero vinculado con el
planteamiento del problema y definición de objetivos, del que se desprende
la necesidad de desarrollar un sistema para estimar tiempos y recursos
presupuestarios con mayor exactitud garantizando la satisfacción del cliente,
ya que a pesar de que pueda tener requerimientos complejos, el
programador podrá informar oportunamente y previendo los riesgos, el
tiempo necesario para la ejecución y su costo con mayor exactitud.
Seguidamente, se destaca en el capítulo II el marco teórico, el cual
explica las teorías que fundamentaron la investigación realizada, así como
los aportes de otros investigadores cuyos trabajos sirvieron de base para
comprender la importancia de estimar costo y tiempo para desarrollar
software. En este orden de ideas, se presenta una metodología de
investigación de trabajo de campo tipo factible, lo cual se describe en el
tercer capítulo, utilizando la técnica de la observación, entrevista y encuesta
cuyo instrumento fue validado de acuerdo al procedimiento llamado juicio de
expertos, lo cual sirvió de base para analizar con mayor exactitud los
resultados de la investigación, presentados en el capítulo IV.
Finalmente, se presentan las conclusiones y recomendaciones en el
capítulo V, el cual da pie a la propuesta de automatizar los procesos para la
estimación de costo y tiempo en el desarrollo de software usando el
modelo COCOMO II desarrollado en el Capítulo VI.

xi
CAPITULO I

EL PROBLEMA

Planteamiento del problema


La estimación de los costos de desarrollo de software representa un factor
relevante en el análisis de los proyectos informáticos, toda vez que
constituye una estrategia efectiva contar con indicadores para medir el costo
de los mismos, a los fines de garantizar la eficiencia, excelencia, calidad y la
competitividad. En este sentido, la estimación de costos en los proyectos de
desarrollo de software es importante, dado que una estimación imprecisa
provoca que un producto software se exceda del presupuesto acordado con
el cliente y no se cumplan los plazos previamente establecidos.
El proceso de Estimar los Costos, consiste en realizar una aproximación
de los recursos monetarios necesarios para completar las actividades del
proyecto, la exactitud de la estimación del costo de un proyecto, aumenta
según avanza el proyecto, de manera que es un proceso iterativo.
En este sentido, los costos se estiman para todos los recursos asignados
al proyecto, es decir, recursos de trabajo, recursos materiales, coste de
servicios e instalaciones y posibles costes por contingencias o riesgos que
puedan afectar o alterar el normal desarrollo del software. Por su parte, la
estimación de los costes de las actividades necesita de los resultados de los
procesos de planificación de otras áreas como por ejemplo el cronograma del
proyecto, el registro de riesgos y las asignaciones de personal.
Para obtener estimaciones exactas para un proyecto, algunos expertos
usan generalmente entre dos técnicas diferentes, ya que mediante la

xii
comparación y la conciliación de las estimaciones obtenidas con las
diferentes técnicas, el planificador puede obtener una estimación más
cercana a la realidad. Sin embargo, la estimación del proyecto de software
nunca será una ciencia exacta, pero la combinación de buenos datos
históricos y técnicas puede mejorar la precisión de la estimación. 
En este orden de ideas, es importante mencionar que el desarrollo de un
software es un proceso relativamente “nuevo”, del cual no se tiene personal
lo suficientemente capacitado. Por otro lado, debido a que el software es el
conjunto de programas o instrucciones de una computadora, con los
componentes lógicos necesarios, que hacen posible la realización de tareas
específicas, y que por lo tanto, no es un elemento de carácter físico; es poco
probable que resulte exitoso el primer intento de elaboración, ya que el
personal encargado de su realización no posee total claridad de los
requerimientos de su cliente, lo que a su vez, vuelve en exceso complicado
hacer un diseño detallado de requerimientos, ya que es importante
mencionar que su calidad se mide con respecto a su funcionamiento.
En 1981 Barry Boehm estimó que el costo total del software en Estados
Unidos fue del 2% del Producto Interno Bruto lo que representa $40 billones.
Después en 1985 el costo total se elevó a $70 billones en Estados Unidos y
$140 billones en todo el mundo. Para 1999 Boehm y Sullivan estimaron que
el costo en 1998 aumentó a los $300 - 400 billones en Estados Unidos y casi
el doble a nivel mundial. El costo total del software es una parte muy
importante ya que no solo involucra el desarrollo del mismo, sino que
también contempla el costo del mantenimiento una vez que se entrega y se
encuentra funcionando. Es aquí donde se pueden encontrar la mayoría de
los problemas ya que generalmente los proyectos carecían de una
planeación y se trabajaba con mucha informalidad.
Sobre este particular, resulta necesario destacar el aumento de la
demanda de software, debido a su impacto en el bienestar del humano, lo
que hace un desafío para el profesional de la ingeniería del software, porque

xiii
aumenta significativamente la productividad del desarrollo de software e
incrementa la eficacia en su mantenimiento, sin embargo se ve limitado la
exactitud de la estimación que se realiza para el costo por los pocos avances
o estudios realizados al respecto.
En este sentido el Método COCOMO desarrollado en los años 80 sobre
una base de datos de 63 proyectos, reúne virtudes de otros métodos y al
mismo tiempo intenta corregir ciertos errores de conceptos en los mismos,
obteniendo primeramente fórmulas para el cálculo del esfuerzo, la principal
problemática de los profesionales al momento de establecer el costo y un
valor justo para su trabajo.
Sin embargo, para el año 1992 se desarrolla el método COCOMO II,
implementando nuevos conceptos, para ajustar la estimación más a las
características del proyecto, resultado ahora un poco mas complejo por los
factores de escala que utiliza, como lo es la precedencia (experiencia en
aplicaciones del mismo tipo), flexibilidad de desarrollo (grado de sujeción del
desarrollo a tiempos y requisitos), resolución de arquitectura y riesgo,
cohesión del equipo (nivel de integración del equipo) y madurez del proceso
(experiencia en el modelo de desarrollo).
No obstante, se calcula que mas del 50% de los sistemas acaban con
unos gastos muchos mas altos que los presupuestados (algunos de estos
sistemas incluso se abandonan) y mas del 60% de estas aplicaciones no son
entregadas dentro de los plazos previstos, demostrándose que la elaboración
de un software representa una actividad riesgosa, por lo tanto es preciso
realizar previo a cada proyecto, un estudio serio de estimación que determine
de forma fiable la viabilidad del proyecto, pues la comunidad de la ingeniería
necesita de unas cifras y patrones de gestión capaces de: ser comprendidas
por los mismos gestores técnicos, proveer una base para documentar las
decisiones de planificación y valorar los beneficios que proporciona, a pesar
del riesgo, la inversión en el proceso del software, siempre que dicho riesgo
se halle controlado.

xiv
En virtud de lo antes expuesto, es necesario traer a colación el
avanzado éxodo de los profesionales venezolanos hacia otros países
capaces de ofrecer mejores ingresos desde la industria del desarrollo de
software, limitando a los recién graduados o profesionales freelance que
trabajan desde Venezuela, a ofrecer costos muy por debajo de lo que
recibirían en otros países. Dicho de otra manera, un programador senior en
Estados Unidos, percibe alrededor de $ 3.000 a $ 3.500 mensuales, mientras
que en Venezuela un programador freelance cobra por el desarrollo de un
software hasta $750. En este orden de ideas, los desarrolladores de software
viven una actualidad, en la que para un cliente reducir costos es una
necesidad, así como, para el programador obtener un valor justo por el
trabajo realizado.
En tal sentido, es ineludible estandarizar la metodología para estimar
costos, mediante la implementación de una aplicación que facilite el cálculo y
proporcione un costo ajustado a la realidad económica, exponiendo la
duración de su elaboración y el esfuerzo requerido para lograrlo. La
evaluación del costo determina la calidad y cantidad de los recursos
necesarios en términos de dinero, esfuerzo, capacidad, conocimientos y
tiempo incidiendo en la gestión empresarial. Destacando además que existen
un conjunto de métricas que no se utilizan a causa de la inexperiencia y que
pueden ser aplicables a cualquier tipo de proyecto de software para calcular
el costo de los mismos y lograr exactitud.

Interrogantes de la investigación

De este planteamiento surge la motivación de esta investigación, la cual


parte de las siguientes preguntas iniciales:
a) ¿Cuál es la situación actual referente a la elaboración de cálculo de
costos y tiempo de elaboración de proyectos de software?

xv
b) ¿Para qué diseñar un sistema de estimación de costo y tiempo de
proyectos de software?
c) ¿Por qué es importante realizar un prototipo para estimación de
costo?
d) ¿Cuáles son las ventajas de aplicar pruebas de verificación del
funcionamiento del sistema de estimación de costo de proyectos de
software usando el modelo COCOMO II?

Objetivo General

Desarrollar un sistema para la estimación de costo y tiempo para


proyectos de software usando el modelo COCOMO II, para desarrolladores
freelance.

Objetivos Específicos

 Conocer las métricas empleadas por desarrolladores freelance, para


la estimación de costos y tiempo de ejecución de proyectos de
software con el modelo COCOMO II.
 Realizar análisis de las métricas empleadas por desarrolladores
freelance, para la estimación de costos y tiempo de ejecución de
proyectos de software con el modelo COCOMO II.
 Diseñar interfaz del sistema para la estimación de costo y tiempo para
proyectos de software usando el modelo COCOMO II, para
desarrolladores freelance.
 Determinar la base de datos del sistema para la estimación de costo y
tiempo para proyectos de software usando el modelo COCOMO II,
para desarrolladores freelance.

xvi
 Ejecutar pruebas del sistema para la estimación de costo y tiempo
para proyectos de software usando el modelo COCOMO II, para
desarrolladores freelance.
 Implementar el sistema para la estimación de costo y tiempo para
proyectos de software usando el modelo COCOMO II, para
desarrolladores Freelance.
Justificación de la Investigación

La presente investigación se justifica en la premisa de que la estimación


de los costos de desarrollo de software es un factor muy importante en el
análisis y planificación de los proyectos informáticos, constituye un tema
estratégico contar con indicadores para medir el costo de los mismos,
garantizando la eficiencia, excelencia, calidad y la competitividad.
En este sentido esta investigación pretende desarrollar un sistema para la
estimación de costo de proyectos de software usando el modelo COCOMO
II, dejando un valor importante para el país, favoreciendo a la comunidad en
el desarrollo tecnológico, ya que cada software desarrollado va a generar
una alianza para el logro de un objetivo, mejorando tiempos de respuestas
gracias a la automatización de un proceso, constituyéndose en una
herramienta que facilita la vida al ser humano.
En este orden de ideas, la investigación realizada va a permitir al
desarrollador definir tiempos y recursos presupuestarios con mayor exactitud
garantizando la satisfacción del cliente, ya que a pesar de que pueda tener
requerimientos complejos, el programador podrá informar oportunamente y
previendo los riesgos, el tiempo necesario para la ejecución y su costo con
mayor exactitud, proporcionando tranquilidad y economía al cliente, quien en
su necesidad de invertir en una tecnología ajustada a la atención de su
negocio no puede darse el lujo de perder dinero y tiempo.
De igual manera, los profesionales que ejercen la programación
Freelance, es decir la persona que trabaja de forma independiente o se

xvii
dedica a realizar trabajos de manera autónoma, tendrán la facilidad con esta
investigación de implementar un sistema que le garantice exactitud a la hora
de estimar cuanto tiempo le llevará atender el requerimiento de un cliente, el
esfuerzo y la cantidad de recurso humano que necesitará y cuanto
representará eso en valor monetario.
Igualmente, para las empresas destinadas al desarrollo de software, esta
investigación va a proporcionar una aplicación de fácil manejo, con
información confiable, gracias a los niveles de exactitud en la estimación
realizada, que gerencialmente va a soportar la toma de decisiones en torno a
la viabilidad del proyecto y la atención oportuna de los riesgos que puedan
afectar la culminación y entrega satisfactoria del mismo, promoviendo la
productividad de software y la competitividad de las empresas
desarrolladoras.
En este orden de ideas, las técnicas de estimación son importantes
porque proporcionan la parte esencial de una buena gestión de proyecto,
pues sin una aceptable estimación, los proyectos pueden verse afectados
por que el programador no pueda comunicar al cliente, manager o vendedor
que los tiempos y recursos presupuestarios otorgados para entregar el
producto son pocos realistas, llevando al fracaso del proyecto. Con la
implementación de este sistema se beneficiará a los desarrolladores de
software, ya que tendrán a la mano una herramienta que les permitirá
estimar un costo ajustado a la realidad económica, así como el tiempo
requerido para la culminación de los proyectos.
Asimismo, es importante destacar que como tesista, esta investigación
pretende suministrar un herramienta para la implementación de los
conocimientos adquiridos durante la carrera de Ingeniería en Informática,
facilitando la incorporación al campo laboral desde una perspectiva basada
en la confianza y profesionalismo, contando con un sistema de estimación,
que a pesar de la inexperiencia pueda obtener exactitud en las respuestas

xviii
dadas como desarrollador de software, percibir una remuneración justa y
mantener la competitividad en el mercado de la informática.
Finalmente, esta investigación va a proporcionar a los estudiantes de la
Universidad Alejandro de Humbolt las herramientas necesarias para conocer
las bondades y beneficios del modelo COCOMO II y comprender con mayor
facilidad aquellos elementos que deben ser considerados para planificar la
elaboración de un proyecto, pues no solo se debe valorar el esfuerzo, sino
los componentes que van a ser parte de la implementación del software,
debiendo conocer datos históricos de otros proyectos con similitudes en sus
requerimientos y características, que le van a permitir una aproximación más
exacta, aunado a la valoración de la experiencia del programador como un
elemento determinante para definir el costo del software.

Delimitaciones

Desde la óptica de Sabino (1986), la delimitación habrá de efectuase en


cuanto al tiempo y el espacio, para situar el problema en un contexto definido
y homogéneo. De manera tal, delimitar una investigación significa,
especificar en términos concretos las áreas de interés en la investigación,
establecer su alcance y decidir las fronteras de espacio, tiempo y
circunstancias que se impondrán al estudio realizado. En la medida en que el
fenómeno bajo estudio esté claramente formulado y delimitado se favorecerá
las posibilidades del investigador de no perderse en la investigación.
En este sentido, es necesario destacar que la investigación se
circunscribe en una investigación documental sobre el uso del modelo
COCOMO II como herramienta para la estimación efectiva de costos para el
desarrollo de software, seguido del análisis de los datos necesarios para
implementar una aplicación que beneficie a la comunidad de profesionales
en el área de informática, especialmente para trabajadores Freelance.

xix
Cuadro 1. Operacionalización de las Variables
Identificación, definición de las Variables, Operacionalización de las variables. Diseño de Campo
Técnicas para
Objetivos Específicos Variable Definición Conceptual Dimensión Indicadores
investigar

1 Conocer las métricas Factores de medición Ingreso de


 Encuesta
empleadas por desarrolladores considerados por métricas
Diagrama de  Observación
freelance, para la estimación de Métricas empleadas programadores
Medición flujo de directa y
costos y tiempo de ejecución de para estimar costos y Freelance para estimar
estimación de participativa
proyectos de software con el tiempo el costo de la Consultas costos y tiempo  Investigación
modelo COCOMO II. elaboración de
Documental
proyectos de softwares

2 Realizar análisis de las métricas


Determinar las métricas Diagrama de
empleadas por desarrolladores  Encuesta
Análisis de las a emplearse mediante Datos de entrada Flujo de Datos
freelance, para la estimación de  Análisis de
métricas empleadas el modelo COCOMO II
costos y tiempo de ejecución de Datos de salida datos,
para la estimación de para estimar costos y
proyectos de software con el  Investigación
costos y tiempo tiempo de desarrollo de
modelo COCOMO II. Resultado Diagrama UML Documental
software
esperado

3 Diseñar interfaz del sistema Interfaz del sistema Conjunto de Pantallas Diseño de  Observación
para la estimación de costo y para la estimación de herramientas del pantallas, Directa y
tiempo para proyectos de costo y tiempo para sistema computador Ventanas de menues, Participativa
software usando el modelo proyectos de software con que el usuario final navegación ventanas  Análisis de
COCOMO II, para usando el modelo interactúa con el Reportes datos
desarrolladores Freelance COCOMO II sistema para estimar
costos y tiempo.

20
Menues

Botones

Iconos

4 Determinar la base de datos del Tablas:


sistema para la estimación de
costo y tiempo para proyectos External Input (EI) Diagrama de
de software usando el modelo Entidad relación
Definición de las tablas External Output
COCOMO II, para de las tablas del
Base de datos del y sus relaciones que (EO)
desarrolladores Freelance sistema para la
sistema para la permitirán el
External Query estimación de  Análisis de
estimación de costo y almacenamiento y costos y tiempo datos
(EQ)
tiempo para proyectos consulta de datos de proyectos de  Investigación
de software usando el necesarios para el Internal Logic File software. Documental
modelo COCOMO II sistema de estimación (ILF)
de costos
External Logic
File (ELF)

5 Ejecutar pruebas del sistema Pruebas del sistema Verificar que el sistema  Prueba de Plan de prueba  Observación
para la estimación de costo y para la estimación de propuesto satisface las cada programa del sistema. Directa y
tiempo para proyectos de costo y tiempo para necesidades del con datos de Participativa
software usando el modelo proyectos de software programador freelance prueba,
COCOMO II, para usando el modelo y está acorde con las  Prueba de
desarrolladores Freelance COCOMO II especificaciones cada programa
previstas para el

21
con datos reales
 Revisión
modelo COCOMO II documental del
sistema propuesto

6 Implementar el sistema para la Implementación del Plan de


estimación de costo y tiempo Colocar en ambiente de Implementación Carta de
sistema para la  Observación
para proyectos de software producción el sistema aceptación del
estimación de costo y Directa y
usando el modelo COCOMO II, de estimación de costo Manual del sistema firmada
tiempo para proyectos Participativa
para desarrolladores Freelance y tiempo para proyectos sistema por los usuarios
de software usando el
de software del sistema
modelo COCOMO II

Fuente: Otniel Rojas (2019)

CAPITULO II

MARCO TEÓRICO

La presente investigación está dirigida a proporcionar una herramienta que facilite al ingeniero en informática
estimar los costos para la elaboración de un software de una manera práctica y con mayor exactitud. En este
sentido para el autor Ramírez, T (2010), “El marco referencial teórico es el espacio del proyecto destinado a ilustrar
al lector sobre (…) Las investigaciones realizadas sobre la problemática estudiada.” Por lo que es oportuno hacer

22
referencia a los estudios realizados con anterioridad por otros autores, así como el marco legal y sublegal que
regula los aspectos más relevantes de la investigación.

Antecedentes de la Investigación

A los fines de considerar los aportes de otros investigadores sobre los cálculos o estimaciones para determinar
los costos de un proyecto, es necesario citar a la Autora M, Lizardo (2010) en su Trabajo Especial de Grado,
realizado para optar al título de Especialista de Gerencia de Proyecto, en la Universidad Católica Andrés Bello,
denominado “Diseño de una propuesta de Mejores Prácticas para la Estimación de Costos de Proyectos para una
Empresa Consultora de Ingeniería”, del cual se desprende que las empresas consultoras en el área de proyectos de
ingeniería enfrentan sucesivamente el proceso de estimar los costos de cada proyecto que asesoran, por lo que la
investigación se dirigió a identificar las mejores practicas que pueden ser aplicadas a varios proyectos, tomando en
cuenta elementos de costos coincidentes en la mayoría de ellos e identificando los factores críticos para alcanzar el
éxito en la estimación.
Sobre este particular, menciona la autora que el Project Management Institute (PMI) incluye la Gestión de los
Costos del Proyecto como una de las áreas del conocimiento, la cual está conformada por tres procesos: a.- Estimar
Costos, b.- Determinar el Presupuesto y c.- Controlar Costos. Los dos primeros procesos se enmarcan dentro del
grupo de procesos de planificación y, el tercero, dentro del grupo de seguimiento y control.

23
En este sentido, expresa la autora que “La estimación de costos de proyectos es un área donde confluyen varias
disciplinas de la gerencia de proyectos” y constituye la representación monetaria necesaria para alcanzar los
objetivos propuestos.
Sobre este particular, es importante destacar que la investigación de Lizardo, aporta elementos base para
determinar una metodología, desde el punto de vista gerencial, para administrar eficaz y eficientemente los recursos
para el logro de los objetivos propuestos, que en el caso que nos ocupa resulta relevante para ofrecer un servicio de
desarrollo de software orientado a optimizar los tiempos de respuesta y garantizar exactitud al momento de realizar
estimaciones de costos.
Por otra parte, la investigación presentada por la autora Cabrera (2016) en la Universidad Tecnológica de la
Mixteca, titulado “Aplicación, Evaluación de Metodologías de Estimació de Micro-proyectos de Software y Desarrollo
de un Sistema de Estimación”, cuyo objeto de investigación es analizar los métodos de estimación más utilizados y
conocidos para compararlos y aplicarlos en una muestra de proyectos de software de corta duración (micro-
proyectos) con el fin de identificar cuál de estos se ajusta a los costos reales del mercado mexicano y finalmente
desarrollar una aplicación informática que implemente el método identificado para estimación de esfuerzo y costo de
micro-proyectos de software.
En este orden de ideas, se idetificó que durante la investgación de métodos de estimación de esfuerzo de
software se encontró que los 5 métodos más utilizados y conocidos en la industria son los siguientes: Puntos de
Función, COCOMO II, Puntos de Casos de Uso, Puntos de Historias de Usuario con Planning Poker y PROBE. No
obstante, existen dos métodos de estimación de esfuerzo que proporcionan una estimación muy cercana al esfuerzo
real: El método “Puntos de Historias de Usuario con Planning Poker” y el método “PROBE”.

24
Igualmente, la investigación realizada por la citada autora concluye que las constantes utilizadas en los métodos
de Puntos de Función, COCOMO II y Puntos de Casos de Uso fueron determinadas mediante un estudio aplicado a
proyectos muy grandes, por lo que estos métodos resultaron ser los más alejados de los valores de esfuerzo reales
en los micro-proyectos.
En virtud de lo anterior, es importante destacar que tales resultados aportaron a esta investigaciòn información
documental vinculada a la estimaciòn de proyectos complejos y con grandes alcances usando el modelo COCOMO
II, ya que se constatò que el mismo favorese a realizar calculos mas exactos, con respecto al esfuerzo requerido
para elaborar un gran software.
Por otra parte, la investigación denominada “Estimación de costo de software: Una propuesta de aplicación
pedagógica de COCOMO” realizada por la autora G, Gonzalez (2018) destaca que los planes de estudio de ciencias
de la computación y carreras afines, evidencian una brecha importante en torno a la temática de estimación de
costos de proyectos de software. En general, en los modelos curriculares relacionados con el desarrollo de software,
se recomienda la temática de la estimación en el desarrollo del software sin especificar ningún modelo de
estimación en concreto. Aunado a ello, dichos modelos tienen la particularidad de que son difíciles de entender y los
ejemplos existentes en la bibliografía suelen ser muy vagos sin considerar contextos cercanos a la realidad,
presentando una propuesta de aplicación pedagógica del modelo de estimación de costos COCOMO en las
modalidades básica e intermedia orientada a la magnitud del producto final.
En este orden de ideas, es necesario destacar que la citada investigaciòn fundamenta las teorias aplicadas en
torno al modelo COCOMO, el cual consta de poco desarrollo para los estudiantes de informàtica, aportando a este

25
trabajo de grado las herramientas basicas para desarrollar una sistema que permita aprovechar las bondades del
modelo COCOMO II.

Bases Teoricas

Teoría General de sistemas


La teoría de sistemas (TS) es un ramo específico de la teoría general de sistemas (TGS). La TGS surgió con los
trabajos del alemán Ludwig von Bertalanffy, publicados entre 1950 y 1968. No busca solucionar problemas o intentar
soluciones prácticas, pero sí producir teorías y formulaciones conceptuales que pueden crear condiciones de
aplicación en la realidad empírica.
Básicamente la TGS, se basa en los supuestos de:
 Tendencia hacia la integración de diversas ciencias naturales y sociales.
 Esa integración parece orientarse rumbo a una teoría de sistemas.
 Dicha teoría de sistemas puede ser una manera más amplia de estudiar los campos no-físicos del
conocimiento científico, especialmente en ciencias sociales.
 Con esa teoría de los sistemas, al desarrollar principios unificadores que atraviesan verticalmente los
universos particulares de las diversas ciencias involucradas, al objetivo de la unidad de la ciencia.
 Esto puede generar una integración muy necesaria en la educación científica.
La TGS afirma que las propiedades de los sistemas, no pueden ser descritos en términos de sus elementos
separados; su comprensión se presenta cuando se estudian globalmente.

26
La TGS se fundamenta en tres premisas básicas:
1. Los sistemas son abiertos: es consecuencia del anterior. Cada sistema que se examine, excepto el menor o
mayor, recibe y descarga algo en los otros sistemas, generalmente en los contiguos. Los sistemas abiertos se
caracterizan por un proceso de cambio infinito con su entorno, que son los otros sistemas. Cuando el
intercambio cesa, el sistema se desintegra, esto es, pierde sus fuentes de energía.
2. Los sistemas existen dentro de sistemas: cada sistema existe dentro de otro más grande.
3. Las funciones de un sistema dependen de su estructura: para los sistemas biológicos y mecánicos esta
afirmación es intuitiva. Los tejidos musculares por ejemplo, se contraen porque están constituidos por una
estructura celular que permite contracciones.

Teoría de la información
La teoría se ha aplicado extensamente por los ingenieros de la comunicación y algunos de sus conceptos han
encontrado el uso en psicología y lingüística. Los elementos básicos de cualquier sistema de comunicaciones
general incluyen:
1. Una fuente de información que es un dispositivo que transmite y transforma la información o el " mensaje " en
una forma conveniente para la transmisión por un medio en particular.
2. El medio o el canal en el cual se transmite el mensaje.
3. Un dispositivo de recepción que descifra el mensaje nuevamente dentro de una cierta aproximación de la
forma original.
4. La destinación o el recipiente previsto del mensaje.

27
5. Una fuente del ruido (es decir, interferencia o distorsión) que cambia el mensaje de maneras imprevisibles
durante la transmisión.

La Teoría de la Información o Teoría de la Comunicación se creó en los años cuarenta a partir de los trabajos de
C. E, Shannon y N. Wiener. En todo sistema de comunicación la información inicial se codifica y se transmite en
"señales". Estas señales se transmiten a un destinatario o receptor, quien a su vez debe descodificar o interpretar la
señal. Generalmente el mensaje inicial o "input" no es totalmente idéntico al final u "output", porque en su
codificación, transmisión o decodificación pueden producirse interferencias o "ruido". La Teoría de la Información
intentó crear un formulismo matemático para la descripción de la información, la medida de la cantidad de
información y su perdida en la transmisión o comunicación.

Teoría sobre Base de Datos


Contreras (2012). Señala que “Todo software para su funcionamiento necesita una base de datos que almacene
cada una de las informaciones que este genere. Una base de datos o banco de datos es un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una
biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en
papel e indexados para su consulta.
En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de
las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de
almacenar datos. Existen programas denominados sistemas gestores de bases de datos, abreviados SGBD, que

28
permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos
SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática” (p.34).
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son
ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Aunque las
bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de
varios países. Por ejemplo, en España los datos personales se encuentran protegidos por la Ley Orgánica de
Protección de Datos de Carácter Personal (LOPD).”
Toda base de datos está formada por uno o varios bloques de información llamados tablas que normalmente
tendrán alguna característica en común. Una tabla es un conjunto conexo de información del mismo tipo. Cada tabla
está formada por registros. Un registro es la unidad elemental de información de la tabla. Cada registro está formado
por uno o más elementos llamados campos. Un campo es cada una de las informaciones que interesa almacenar de
cada registro, y es por tanto la unidad elemental de información del registro.
Existen 3 tipos de base de datos que se detallan a continuación.
 Base de datos jerárquica: Primera en ser utilizada. Se basa en el establecimiento de jerarquías o niveles
entre los distintos campos de los registros, basándose en el criterio de que los campos de mayor jerarquía
sean los más genéricos, y tiene una estructura arborescente, donde los nodos del mismo nivel corresponden
a los campos y cada rama a un registro.
 Base de datos en red: Es una variación del modelo de datos jerárquico. Se utiliza una estructura de grafo,
donde existe más de una conexión entre los nodos de diversos niveles, de forma que pueden recorrerse por

29
distintos caminos sin necesidad de acudir cada vez a la primera raíz. Desaparece así el concepto de jerarquía
entre campos.
 Base de datos relacional: El modelo relacional de datos representa todos los datos en estructura de matriz o
tabla bidimensional, donde las filas son los registros y las columnas los campos.

Normalización de bases de datos


Son el conjunto de normas que ayudan a diseñar una estructura de base de datos óptima para su
implementación, gestión y explotación. Las bases de datos relacionales se normalizan para:
 Evitar la redundancia de los datos.
 Evitar problemas de actualización de los datos en las tablas.
 Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada
como una relación tiene que cumplir con algunas restricciones: Cada columna debe tener su nombre único, no
puede haber dos filas iguales, todos los datos en una columna deben ser del mismo tipo.
Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la
forma normal N es decir que todas sus tablas están en la forma normal N. Las formas normales, definidas en la
teoría relacional, permiten normalizar una base de datos en un esquema mal diseñado. El creador de las 3 primeras
formas normales fue Edgar F. Codd. Cuánto más alta sea la forma normal en la que se encuentran los esquemas de
relación, menores serán los problemas que aparecerán en el mantenimiento de la base de datos. Cuando un

30
esquema de relación está en una forma normal, implícitamente también lo está en las formas normales inferiores a
ésta.

Integración de datos
Es el proceso que permite combinar datos heterogéneos de muchas fuentes diferentes en la forma y estructura
de una única aplicación. Esto facilita que diferentes tipos de información, tales como matrices de datos, documentos
y tablas, sean fusionados por usuarios, organizaciones y aplicaciones para un uso personal, de procesos de negocio
o de funciones.
La integración soporta el procesamiento analítico de grandes conjuntos de datos alineando, combinando y
presentando cada conjunto de informaciones de departamentos organizacionales y fuentes de datos remotas y
externas, para cumplir con los objetivos del integrador.
La integración de datos se implementa generalmente en un data warehouse mediante software especializado
que aloja grandes almacenes de datos de recursos internos y externos. Los datos se extraen, se mezclan y se
presentan de forma unificada. Por ejemplo, el conjunto completo de datos de un usuario puede incluir información
extraída y combinada de marketing, ventas y operaciones, que se combinan para formar un informe completo.
Un proyecto de integración de datos generalmente implica los siguientes pasos:
 Acceso a los datos desde todas las fuentes y localizaciones tanto si se trata de locales, en la nube o de una
combinación de ambos.
 Integración de datos de modo que los registros de una fuente de datos mapean registros en otra. Por
ejemplo, incluso si un conjunto de datos utilizara “nombre, apellidos” y otro “nom, ape”, el conjunto integrado

31
se asegurará de que en ambos casos los datos van al lugar correcto. Se trata de un tipo de preparación de
datos esencial para que las analíticas y otras aplicaciones sean capaces de utilizar los datos con éxito.
 Entrega de datos integrados al negocio justo en el momento en que la empresa los necesita, ya sea por
lotes, casi en tiempo real o en tiempo real. 

Fundamentos de la integración
Los responsables que han sido puestos a cargo de un proyecto de integración de datos a menudo no están
seguros de por dónde comenzar ni qué hacer. Por ello, existen varios fundamentos que marcarán el punto de
partida para saber cómo abordar este proceso:
Los metadatos lo son todo. El origen de los datos guiará la forma en la que se debe iniciar la integración de los
datos. La empresa debe comprender la información almacenada en los sistemas de origen y destino y encontrar una
sola fuente fiable y verdadera.
Entender el flujo de información. Una vez identificada la fuente, es necesario averiguar cómo los datos fluirán de
un sistema a otro. Si bien la mayoría de los flujos de integración de datos son una replicación simple, también es
posible cambiar la estructura y el contenido de la información que fluye de un sistema a otro, para que la
infraestructura de destino reciba datos nativos.
Unir Seguridad y Data Governance. Son dos elementos que a menudo no se complementan bien en los entornos
de integración de datos. Este problema se vuelve más importante a medida que avanzamos hacia la nube, ya que
los datos están físicamente fuera de control. Los encargados de la integración deben cifrar los datos, y una vez
encriptados, la información será más segura.

32
En el contexto de la integración de datos, Data Governance implica la utilización de políticas activas en torno al
uso de datos, flujos, transformaciones, etc. Esto permite evitar que alguien cambie un flujo o varíe la estructura de
un sistema objetivo y rompa la solución de integración. Tanto si se trata de la primera vez que una organización
realiza una integración de datos como si ya es un sistema consolidado, los fundamentos de la integración siguen
siendo la clave para el éxito de su desarrollo.

Teoría de la Ventaja Competitiva


Para Michael Porter la ventaja competitiva ha sido una revolución de la información y de las teorías económicas;
sin lugares a dudas ha actuado un cambio fundamental en el concepto que cada gerente de empresa tiene del papel
de los sistemas de información. Antes de las teorías de Porter, la información se consideraba un factor entre otros
en el proceso que determina los negocios. Ahora por contra hay un creciente reconocimiento del valor de la
información como factor determinante en las dinámicas económicas. Por otra parte, gracias a las teorías de Porter
se ha reconocido que la información posee un alto potencial y que por lo general es menospreciada frente a su real
valor, así que debe ser tratada como un recurso que cada organización podría y debería utilizar en su rubro de
negocio.
En este orden de ideas, es importante destacar que la ventaja competitiva introducida por Porter guarda una
relación estricta con el concepto de valor que en muchos casos sustituye al concepto tradicional de costo en
términos de planificación empresarial.
En tal sentido Porter (1985), en términos generales, menciona que: “La ventaja competitiva crece
fundamentalmente en razón del valor que una empresa es capaz de generar. El concepto de valor representa lo que

33
los compradores están dispuestos a pagar, y el crecimiento de este valor a un nivel superior se debe a la capacidad
de ofrecen precios más bajos en relación a los competidores por beneficios equivalentes o proporcionar beneficios
únicos en el mercado que puedan compensar los precios más elevados. (…)
Para que una empresa logre una real capacidad de generar valor a largo plazo su estrategia empresarial debe
enfocarse en trazar un plan de ventaja competitiva sostenible en el tiempo. Según Porter dos son los tipos de
ventajas competitivas que se pueden observar en el mercado:
1. El liderazgo en costos, o sea la capacidad de realizar un producto a un precio inferior al de los competidores;
2. La diferenciación del producto, o sea la capacidad de ofrecer un producto distinto y más atractivo para los
consumidores frente a los productos ofrecidos por los competidores.
Como consecuencia directa de estos dos tipos de ventajas competitivas, Porter habla de tres estrategias
competitivas genéricas que se pueden aplicar a cualquier rubro empresarial; las estrategias que se pueden poner en
acto, generalmente por separado pero en algunas circunstancias también en conjunto, según los casos, para
asegurar el crecimiento del valor de la empresa, son las siguientes:
1. El liderazgo en costos, que es la estrategia más intuitiva y representa una oportunidad si la empresa está
capacitada para ofrecer en el mercado un producto a un precio inferior comparado a la oferta de las
empresas oponentes.
2. La diferenciación, que constituye una opción atractiva para empresas que quieren construirse su propio
nicho en el mercado y no apuestan necesariamente a un elevado porcentaje de consensos en términos
generales, sino en compradores que buscan características peculiares del producto distintas a las que

34
ofrecen las empresas oponentes. Algunas buenas actuaciones de la estrategia competitiva de la
diferenciación pueden ser:
o Materias primas de mayor valor frente a los productos en el mercado
o Un servicio al cliente más específico y capacitado para proporcionar más seguridad a los compradores
en el tiempo
o Ofrecer un diseño del producto exclusivo que sea un atractivo muy fuerte para los clientes.
3. El enfoque, que consiste en especializarse en un dado segmento del mercado y en ofrecer el mejor producto
pensado expresamente para los reales requerimientos de nuestro segmento. Ejemplos concretos de enfoque
pueden ser: una categoría especial de potenciales compradores, un área geográfica específica, un segmento
particular de la línea de productos
Por lo tanto, queda claro que cada estrategia puede asegurar una ventaja competitiva sostenible solamente
hasta cuando el mercado reaccione de forma eficaz a la estrategia. En cuanto se presente una empresa capaz de
ganar terreno y cambiar la posición de supremacía deberemos forzosamente recurrir a otra estrategia o bien
cambiar los términos de la que hemos elegido para asegurarnos de no dejarnos derrotar por los competidores.
En tal sentido, Aplicar las tres estrategias al mismo tiempo en términos absolutos resulta imposible para cualquier
empresa, y como regla general es importante que el plan empresarial considere cuál estrategia quiere poner en acto
como prioritaria. Pero pueden darse casos específicos en los cuales se puede beneficiar de más de una estrategia.
Porter habla de tres circunstancias en las cuales se puede aplicar en conjunto la diferenciación y el liderazgo en
costos:
1. En el caso que los competidores resulten muy ineficientes en sus planes de empresa

35
2. En el caso que la empresa pueda contar con alguna tecnología exclusiva que no esté al alcance de los
competidores
3. En el caso que exista una fuerte posibilidad de coordinar estrategias comunes entre distintas empresas del
mismo rubro, como cuando hay una participación societaria similar en empresas distintas que de hecho ya no
se pueden considerar oponentes.
Finalmente, Porter le otorga un papel de primer nivel a las tecnologías en el desarrollo empresarial, con especial
referencia a las tecnologías de la comunicación, que se pueden aplicar con excelentes resultados a cualquier rubro
de negocio y que constituyen un valioso aporte a la estrategia competitiva. De la correcta utilización de las nuevas
tecnologías de la comunicación se puede obtener varias ventajas, tales como:
 Mejor control de nuestro plan empresarial
 Mejor programación de la empresa
 Mejor posibilidad de llevar a cabo investigaciones de mercado efectivas
 Mejor capacitad de gestión producto de una medición más exacta del mercado

Bases Legales

La Constitución de la República Bolivariana de Venezuela de fecha 19 de febrero de 2009, Gaceta Oficial


N°5.908 establece en su Artículo 110, que:

36
“El Estado reconocerá el interés público de la ciencia, la tecnología, el conocimiento, la innovación y
sus aplicaciones y los servicios de información necesarios por ser instrumentos fundamentales para
el desarrollo económico, social y político del país, así como para la seguridad y soberanía nacional.
Para el fomento y desarrollo de esas actividades, el Estado destinará recursos suficientes y creará
el sistema nacional de ciencia y tecnología de acuerdo con la ley. El sector privado deberá aportar
recursos para las mismas. El Estado garantizará el cumplimiento de los principios éticos y legales
que deben regir las actividades de investigación científica, humanística y tecnológica. La ley
determinará los modos y medios para dar cumplimiento a esta garantía.”

Igualmente, establece la Carta Magna en su artículo 98 sobre la creación cultural libre, lo siguiente:
“Esta libertad comprende el derecho a la inversión, producción y divulgación de la obra creativa,
científica, tecnológica y humanística, incluyendo la protección legal de los derechos del autor o de la
autora sobre sus obras. El Estado reconocerá y protegerá la propiedad intelectual sobre las obras
científicas, literarias y artísticas, invenciones, innovaciones, denominaciones, patentes, marcas y
lemas de acuerdo con las condiciones y excepciones que establezcan la ley y los tratados
internacionales suscritos y ratificados por la República en esta materia.”

En este sentido la Ley de Infogobierno de fecha 17 de octubre de 2013, Gaceta Oficial N° 40.274, establece en
su Artículo 6 que:

“El Poder Público, en el ejercicio de sus competencias, debe utilizar las tecnologías de información
en su gestión interna, en las relaciones que mantengan entre los órganos y entes del Estado que lo
conforman, en sus relaciones con las personas y con el Poder Popular, de conformidad con esta
Ley y demás normativa aplicable.”

Igualmente la citada Ley menciona acerca del principio de transparencia, en su Artículo 13, destacando que:

37
“El uso de las tecnologías de información en el Poder Público y el Poder Popular garantiza el
acceso de la información pública a las personas, facilitando al máximo la publicidad de sus
actuaciones como requisito esencial del Estado democrático y Social de Derecho y de Justicia,
salvo aquella información clasificada como confidencial o secreta, de conformidad con la ley que
regule el acceso a la información pública y otras normativas aplicables.”

Así mismo, el Principio de seguridad, el cual establece que:

Artículo 23. En las actuaciones electrónicas que realicen el Poder Público y el Poder Popular se
debe garantizar la integridad, confidencialidad, autenticidad y disponibilidad de la información,
documentos y comunicaciones electrónicas, en cumplimiento a las normas y medidas que dicte el
órgano con competencia en materia de seguridad de la información.

Con respecto al desarrollo de tecnologías la referida Ley se refiere al Conocimiento Libre, señalando que:

Artículo 34. El desarrollo, adquisición, implementación y uso de las tecnologías de información por
el Poder Público, tiene como base el conocimiento libre. En las actuaciones que se realicen con el
uso de las tecnologías de información, sólo empleará programas informáticos en software libre y
estándares abiertos para garantizar al Poder Público el control sobre las tecnologías de información
empleadas y el acceso de las personas a los servicios prestados.
Los programas informáticos que se empleen para la gestión de los servicios públicos prestados por
el Poder Popular, a través de las tecnologías de información, deben ser en software libre y con
estándares abiertos.

Definición de Términos

38
Freelance: Se refiere a la actividad que realiza la persona que trabaja de forma independiente o se dedica a realizar
trabajos de manera autónoma que le permitan desenvolverse en su profesión o en aquellas áreas que pueden ser
más lucrativas y son orientadas a terceros que requieren de servicios específicos
Gestión de proyectos: Es la aplicación del conocimiento, habilidades, herramientas y técnicas a las actividades de
un proyecto para cumplir los requisitos del proyecto
Métodos de estimación de costos: Modo ordenado de proceder para llevar a cabo la estimación de costos:
Algunos de los métodos de estimación de costos son:
1. Puntos de Función.
2. Funciones de Bang.
3. Cuestionarios y consenso.
Metodologías de estimación de costos: Conjunto de métodos, técnicas y procedimientos agrupados que sirven
para llevar a cabo la estimación de costos. Toda metodología de estimación de costos debe aplicarse al ciclo de
vida de un proyecto. Algunos ejemplos de las metodologías desarrolladas actualmente son:
1. Metodología de Ali Arifoglu.
2. Metodología de Shari Pfleeger.
Métricas de estimación de costos: Es la unidad de medida que se utiliza como referencia para calcular el total de
trabajo desarrollado. Los dos tipos de métricas son:
1. Líneas de código.
2. Complejidad de los algoritmos y

39
funciones.
Modelos de estimación de costos. Esquema teórico, expresada en forma matemática. Estas representaciones
matemáticas estiman el esfuerzo total que se desarrollará en un proyecto. Los modelos de estimación se clasifican
como sigue:
1. Modelos Estáticos.
a. Ecuaciones lineales.
b. Ecuaciones no lineales.
2. Modelos Dinámicos
Puntos de función: son una de las técnicas más usadas para la estimación de tamaño en proyectos software.
Riesgo: en la ingeniería del software se define como la posibilidad de que ocurra un evento no deseado que afecte
a los objetivos de plazo, coste, calidad del proyecto e incluso a supervivencia de una organización.
Técnicas de estimación de costos: Conjunto de procedimientos y recursos que se utilizan en el la estimación de
costos. Las principales técnicas utilizadas en la medición del software son:
1. Estimación ascendente y descendente
2. Basadas en la experiencia.
3. Ecuaciones paramétricas.
a) Modelos Estáticos.
b) Modelos Dinámicos.

40
CAPÍTULO III

MARCO METODOLÓGICO

41
Para dar inicio al presente Capítulo es importante mencionar que Arias (2006) expone el marco metodológico
como “Conjunto de pasos, técnicas y procedimientos que se emplean para formular y resolver problemas” (p.16).
Este método se basa en la formulación de hipótesis las cuales pueden ser confirmadas o descartadas por medios
de investigaciones relacionadas al problema.
Así mismo Arias (2012) afirma que la metodología del proyecto incluye el tipo o tipos de investigación, las
técnicas y los procedimientos que serán utilizados para llevar a cabo la indagación. Es el cómo se realizó el estudio
para responder al problema planteado. De acuerdo a lo planteado en este capítulo, se centra la médula del trabajo
de investigación y por ello, orienta el curso de las acciones a seguir para la solución de la problemática planteada.

Diseño y tipo de la investigación.

Diseño de la investigación.

Según Nicanor A. (2011), El diseño de investigación constituye el plan general del investigador para obtener
respuestas a sus interrogantes o comprobar la hipótesis de investigación. El diseño de investigación desglosa las
estrategias básicas que el investigador adopta para generar información exacta e interpretable.
Igualmente expresa Arias (2012) asegura que la investigación de campo es aquella que consiste en la
recolección de datos directamente de los sujetos investigados, o de la realidad donde ocurren los hechos (datos

42
primarios), sin manipular o controlar variable alguna, es decir, el investigador obtiene la información pero no altera
las condiciones existentes. De allí su carácter de investigación no experimental.
En este sentido, un diseño no experimental, según S, Palella (2012) “es el que se realiza sin manipular en forma
deliberada ninguna variable”. El investigador no sustituye intencionalmente las variables independientes. Se
observan los hechos tal y como se presentan en su contexto real y en un tiempo determinado o no, para luego
analizarlos. Por lo tanto, en este diseño no se construye una situación específica si no que se observan las que
existen. Las variables independientes ya han ocurrido y no pueden ser manipuladas, lo que impide influir sobre ellas
para modificarlas.
En tal sentido esta investigación se nutrió de la información recabada directamente de especialistas en el área
de programación Freelance, cuya trayectoria dentro de la informática les da la experiencia para realizar
estimaciones basadas en datos que proporcionan la mayor exactitud y por ende favorecieron a documentar las
bases teóricas que fundamentan esta investigación, así como la revisión documental de publicaciones que nutren el
mundo de la informática.

Tipo de la investigación

Para S. Palella (2012) el tipo de investigación se refiere “a la clase de estudio que se va a realizar”. Orienta sobre
la finalidad general del estudio y sobre la manera de recoger las informaciones o datos necesarios. Por lo tanto, para
la presente investigación se orientó con un tipo de investigación de campo, toda vez que consistió en la recolección
de datos directamente de la realidad donde ocurren los hechos, se estudia los fenómenos sociales en su ambiente

43
natural. Con este tipo de investigación el investigador no manipula variables ya que esto hace perder el ambiente de
naturalidad en el que manifiesta y desenvuelve el hecho (Ramírez. 1998).

En este sentido la investigación se enmarcó en un nivel Proyectivo, el cual según Hurtado de Barrera (2000), es
el que "intenta proponer soluciones a una situación determinada. Implica explorar, describir, explicar y proponer
alternativas de cambio, y no necesariamente ejecutar la propuesta."
Lo mencionado por Hurtado se aplica a todas las investigaciones que conllevan a diseños o creaciones dirigidas
a cubrir una necesidad y basadas en conocimientos anteriores. De allí que el término proyectivo refiere a un
proyecto en cuanto a aproximaciones o modelo teórico. El investigador puede llegar a éste mediante vías
diferentes, las cuales involucran procesos, enfoques, métodos y técnicas propias.
Ahora bien, como parte de una investigación de campo, es necesario destacar que se basó en una modalidad
Proyecto Factible. De acuerdo a la UPEL (1998) define el proyecto factible como un estudio “que consiste en la
investigación, elaboración y desarrollo de una propuesta de un modelo operativo viable para solucionar problemas,
requerimientos o necesidades de organizaciones o grupos sociales” (p.7). La propuesta que lo define puede
referirse a la formulación de políticas, programas, tecnologías, métodos o procesos, que sólo tienen sentido en el
ámbito de sus necesidades. De esta definición surge que un proyecto factible consiste en un conjunto de
actividades vinculadas entre sí, cuya ejecución permitirá el logro de objetivos previamente definidos en atención a
las necesidades que pueda tener una institución o un grupo social en un momento determinado. Es decir, la
finalidad del proyecto factible radica en el diseño de una propuesta de acción dirigida a resolver un problema o
necesidad previamente detectada en el medio. La investigación de Nivel Proyectivo o proyectos factibles, está

44
orientada a la elaboración de una propuesta, un modelo, un diseño, un programa, que conduzca a la resolución del
problema cuando el mismo se ejecute.

Población y muestra.

Arias (1999), señala que población “es el conjunto de elementos con características comunes que son objetos de
análisis y para los cuales serán válidas las conclusiones de la investigación”. (p.98).
Para Balestrini (1997), La muestra “es obtenida con el fin de investigar, a partir del conocimiento de sus
características particulares, las propiedades de una población” (p.138).
En este orden de ideas, es importante destacar que de acuerdo al tipo de Población depende el cálculo de la
muestra, para C. Campos (2011) la población puede ser, “infinita: no se conocen el número exacto que forman la
población y la finita se conoce el número de elementos que la conforman”.
Para la presente investigación es importante destacar que se fundamentó en la selección de una población finita
compuesta por programadores freelance que hacen vida en la Universidad Alejandro de Humboldt, por lo que la
muestra corresponde a la selección representativa de estos expertos quienes aportarán información basada en su
experiencia y conocimiento, tal como se expresa en la tabla N°1.
En virtud de lo antes expuesto la población está determinada por los sujetos objeto de investigación, de cuyos
aportes se fundamenta el análisis realizado a la información recababa durante el trabajo de campo, considerando

45
una muestra probabilística, la cual es aquella donde todos los miembros de la población tienen la misma posibilidad
de conformarla. Es importante destacar que la población seleccionada corresponde a una cantidad aproximada de
cien estudiantes de la escuela de informática, que se desempeñan como programadores Frelance, obteniendo una
muestra representativa de 35 %.

Cuadro 2. Población Objeto de Estudio


NOMBRE Y APELLIDO TELEFONO EMAIL CARGO EMPRESA

1 Estebana Cassiani 0426-315-50-93 ecassiani@gmail.com Programador Freelance


2 Nanibel Tovar 0426-336-32-31 nanibeltovar1999@gmail.com Programador Freelance
3 Sherley Camperos 0414-299-29-31 scamperos24@gmail.com Programador Freelance
4 Juana Manzanilla 0414-136-78-56 jfdmanzanilla@gmail.com Programador Freelance
5 Aurelia Jordan 0414-305-11-16 jordan_a12@gmail.com Programador Freelance
6 Karla Beatriz Aquino 0414-365-91-22 ingkba@gmail.com Programador Freelance
7 Charbel Diaz 0424-111-27-37 charbeldiaz@hotmail.com Programador Freelance
8 Veruzka Ollarve 0412-393-74-07 prettyvar@gmail.com Programador Freelance
9 Yanireth Hernandez 0426-412-09-18 yhernandez1999@gmail.com Programador Freelance
1
Yairima Hermandez 0426-111-05-56 yairamah2000@gmail.com
0 Programador Freelance
1
Irene Morales 0416-407-65-93 irenoral@gmail.com
1 Programador Freelance
1
2 Carmen Campos 0412-818-52-62 camposcarmenjo@gmail.com Programador Freelance
1
3 Rosa Vicent 0416-925-94-30 vicentrosa_inf@gmail.com Programador Freelance
1
4 Stefany Vicent 0426-335-58-88 vicents201@gmail.com Programador Freelance
1 Leomaris Sanchez 0426-5138164 leomarisanchez@gmail.com Programador Freelance

46
5
1
6 Maritza Paredes 0414-123-99-12 nmpa456@gmail.com Programador Freelance
1
7 Glenis Vicente 0412-923-96-95 glenisucab@gmail.com Programador Freelance
1
8 Zulay Gomez 0416-213-61-77 zulay_gomez_1@gmail.com Programador Freelance
1
9 Diana Caceres 0416-295-11-33 ddcaceres_bunny@gmail.com Programador Freelance
2
0 Belkis De Guillen 0414-377-27-17 belkis265985@gmail.com Programador Freelance
2
1 Isloren Guillen 0416-836-05-41 islorenguillen@gmail.com Programador Freelance
2
2 Shirley Cuadro 0412-365-21-86 pinkshirley2@gmail.com Programador Freelance
2
3 Claudia E Ibarra C 0424-265-35-68 barbiegirl2000@gmail.com Programador Freelance
2
4 Karen Illanes 0212-872-59-52 btsfanatic@gmail.com Programador Freelance
2
5 Ana Muñoz 0416-924-96-84 anamunoz_fr@gmail.com Programador Freelance
2
6 Analia Flores 0414-229-07-00 bellaanalia@gmail.com Programador Freelance
2
7 Mary Gonzalez 0416-193-91-25 gonzalezmary@gmail.com Programador Freelance
2
8 Odalys Vargas 0426-516-48-90 odalysvargasgreen@gmail.com Programador Freelance
2
9 Katerine Nazaret 0416-930-91-77 katerinedal@gmail.com Programador Freelance
3
0 Venus Infante 0416-615-46-06 afroditav12@gmail.com Programador Freelance
3
1 Arlen Corro 0412-825-26-18 arlencorro@gmail.com Programador Freelance
3
2 Katerin Ortega 0414-205-25-65 twinortega@gmail.com Programador Freelance
3
3 Jesica Mora 0416-040-98-90 moraj1989@gmail.com Programador Freelance
3
4 Genesis Polo 0416-198-46-54 genesisfress@gmail.com Programador Freelance
3
5 Emerson Polo 0414-240-52-52 emreson211_p@gmail.com Programador Freelance
Fuente: Elaboración Propia (2019)

47
Técnicas e instrumentos de recolección de información

Técnicas
Partiendo de la importancia que en toda investigación tienen los resultados y el que los mismos deben
representar hechos reales, se procede a exponer algunas de las técnicas utilizadas con el fin de comprobar la
objetividad de los datos estudiados y los resultados obtenidos, tales como la observación, la entrevista y la
encuesta relacionadas con los resultados que se van obteniendo en la investigación, los cuales proporcionaron la
posibilidad de hacer contraste entre las intuiciones de los autores y las realidades presentadas. Entonces las
técnicas de recolección de datos, que son las distintas formas o maneras de obtener la información.
Observación. Para Becerra V. (2012) afirma que la observación es una técnica que consiste en la utilización de
los sentidos para captar cualquier hecho, fenómeno o situación relativa a la investigación en proceso. Así mismo
Becerra V. (2012), la lista de cotejo o chequeo es un tipo de instrumento en el que se indica o no la presencia de un
aspecto, rango, conducta o situación a ser observada.
la observación es participante cuando el investigador se incluye en el grupo, hecho o fenómeno observado, para
obtener la información "desde adentro". Implica la realización de un trabajo casi siempre dilatado y cuidadoso, pues
el investigador debe integrarse al grupo, comunidad o institución en estudio para, una vez instalado, ir realizando
una doble tarea: desempeñar algunos roles dentro del conjunto e ir recogiendo los datos que necesita.

48
La entrevista según García (1999), “es una técnica de investigación realizada sobre una muestra de sujetos
representativa de un colectivo más amplio, que se lleva a cabo en el contexto de la vida cotidiana, utilizando
procedimientos estandarizados de interrogación, con el fin de obtener mediciones cuantitativas de una gran
variedad de características objetivas y subjetivas de la población”.
De la misma manera, Álvarez (2001), expresa que a través de la encuesta se permite obtener la información de
un grupo socialmente significativo de personas relacionadas con el problema de estudio, para luego, por medio de
un análisis cuantitativo o cualitativo, generar las conclusiones que corresponda a los datos recogidos. 
Según S. Palella (2012) la encuesta es una técnica destinada a obtener datos de varias personas cuyas
opiniones interesan al investigador. Para ello,
a diferencia de la entrevista, se utiliza un listado de preguntas escritas que se entregan a los sujetos quienes, en
forma anónima, las responden por escrito. Es una técnica aplicable a sectores amplios del universo, de manera
mucho más económica que mediante entrevistas individuales.
Con respecto a la investigación documental, es importante destacar que según Baena (1985), “es una técnica
que consiste en la selección y recopilación de información por medio de la lectura y crítica de documentos y
materiales bibliográficos, de bibliotecas, hemerotecas, centros de documentación e información”.

Instrumentos
Respecto al tema, Hurtado (2000), comenta que en la encuesta, el grado de interacción del investigador con la
persona quien posee la información es mínimo; la información es obtenida por medio de preguntas formuladas en
instrumentos como el cuestionario.

49
Para Hurtado (2000) un cuestionario “es un instrumento que agrupa una serie de preguntas relativas a un
evento, situación o temática particular, sobre el cual el investigador desea obtener información”. Consiste en un
conjunto de preguntas formuladas en base a una o más variables a medir, donde se utiliza un formulario impreso
estandarizado de preguntas, en el cual el contestante llena por sí mismo.
El cuestionario debe cumplir los requisitos de validez y de confiabilidad. La validez depende de si los datos
obtenidos se ajustan o no a la realidad, sin distorsión de los hechos. La confiabilidad en cambio viene dada por la
capacidad de obtener resultados iguales o similares, aplicando las mismas preguntas acerca de los mismos hechos
o eventos, en la misma muestra
Las listas de cotejo o de control, según S. Palella (2012) son un instrumento muy útil para registrar la evaluación
cualitativa en situaciones de aprendizaje. Permiten orientar la observación y obtener un registro claro y ordenado de
todo cuanto acontece. Sirven para sistematizar los distintos niveles de logro de cada investigador, mediante el uso
de proposiciones, ítemes, indicadores (o criterios de evaluación) y de una escala cualitativa previamente
seleccionados.
EI guion de entrevista es un instrumento que forma parte de la técnica de la entrevista. Desde un punto de vista
general, es una forma específica de interacción social. El investigador se sitúa frente al investigado y le formula las
preguntas que ha incluido en el guion previamente elaborado.
Otro de los instrumentos de investigación documental es la ficha bibliográfica. Esta contiene los datos
bibliográficos de las fuentes documentales. En esta unidad de registro se anotan los diversos elementos que
identifican los documentos. (I, Castillo (2009)).

50
La Validez
Se refiere al grado en que un instrumento de recolección de datos mide lo que pretende medir Hernández y otros
(2000), señala que la validez, se determina antes de aplicar el instrumento. Tamayo y Tamayo (2008) “consideran
que validar es “determinar cualitativa y/o cuantitativamente un dato. La validez en términos generales, se refiere al
grado en que un instrumento realmente mide la variable que pretende medir” (p. 39).
Para la Validez que se requiere el instrumento de recolección de información de la investigación se aplicara a
través de un procedimiento llamado juicio de expertos donde tres (3) especialistas uno (1) en metodología y dos (2)
en contenido emitirán una opinión.
Se realizará a partir de la entrega de la copia del planteamiento del problema, copia del cuadro de variable y una
Operacionalización, copia del instrumento y copia de la matriz de validación para que cada experto haga validez del
instrumento.

Confiabilidad.
La mayoría de Investigadores y metodólogos, coinciden en afirmar que, la confiabilidad de un Instrumento de
Recolección de Datos, se refiere al grado en que una aplicación reiterada a un grupo de individuos o sujetos,
produce resultados similares. Se obtiene mediante la aplicación de un "Estudio Piloto" el cual consiste en aplicar el
instrumento una vez validado, a una pequeña muestra, con características similares a la del estudio a realizar, para
determinar su confiabilidad. Según Pérez (2012) la confiabilidad se refiere a “lo que el instrumento mide con
exactitud y certeza en diferentes ocasiones” (p. 71). La confiabilidad viene determinada por la fiabilidad y
probabilidad del buen funcionamiento o aplicación del instrumento.

51
Para calcular la confiabilidad de un instrumento, se utilizan diversos métodos que generan un coeficiente de
confiabilidad. (Hernández y otros, 2003, p. 353).
En este sentido, la confiabilidad del instrumento será evaluada a partir de los resultados arrojados por el
mismo, los cuales deben ser, reales y certeros. Método Kuder Richardson, es una técnica para el cálculo de la
confiabilidad de un instrumento aplicable sólo a investigaciones en las que las respuestas a cada ítem sean
dicotómicas o binarias, es decir, puedan codificarse como 1 ó 0 (Correcto – incorrecto, presente – ausente, a favor
– en contra, si – no etc.), por ello se empleara ya que el cuestionario está conformado por preguntas dicotómicas (si
– no). La fórmula para calcular la confiabilidad de un instrumento de n ítems o KR 20 será la siguiente:

k p.q
*1-
k-1 Vt

KR-20 = Coeficiente de Confiabilidad (Kuder Richardson)


k = Número de ítems que contiene el instrumento.
Vt: Varianza total de la prueba.
Sp. q = Sumatoria de la varianza individual de los ítems.
p = TRC / N; Total respuesta correcta entre número de sujetos
q=1–p

52
El resultado de la confiabilidad es de 0,72 clasificada como de excelente confiabilidad, ya que Según Herrera
(1998) está dentro del rango de 0,72 a 0,99.

Procedimiento de análisis de los resultados.

El procedimiento de datos incluye las funciones de edición y codificación. La edición comprende la revisión de
los formatos de datos en cuanto a la legibilidad, consistencia y totalidad de los datos. La codificación implica el
establecimiento de categorías para las respuestas o grupos de respuestas (Kinnear y Taylor, 1993).
El propósito del análisis es establecer los fundamentos para desarrollar opciones de solución al factor que se
estudia, con el fin de introducir las medidas de mejoramiento en las mejores condiciones posibles (Franklin, 1998).
En tal sentido, en la presente investigación los datos son representados en tablas o cuadros estadísticos, según
el tipo de análisis, el tamaño de la muestra y la naturaleza de la información, haciendo uso de las técnicas de
asociación y correlación.
Sin embargo, es importante destacar que “Analizar significa establecer categorías, ordenar, manipular y resumir
los datos,” (Kerlinger, 1982, p. 96). En esta etapa del proceso de investigación se procede a racionalizar los datos
colectados a fin de explicar e interpretar las posibles relaciones que expresan las variables estudiadas. El diseño de
tablas estadísticas permite aplicar técnicas de análisis complejas facilitando este proceso.
Los resultados de una investigación basados en datos muestrales requieren de una aproximación al verdadero
valor de la población (Zorrilla, 1994). Para lograr lo anterior se requiere de una serie de técnicas estadísticas, que
se derivan tanto de la estadística paramétrica como de la estadística no paramétrica. La primera tiene como

53
supuestos que la población estudiada posee una distribución normal y que los datos obtenidos se midieron en una
escala de intervalo y de razón. La segunda no establece supuestos acerca de la distribución de la población sin
embargo requiere que las variables estudiadas se midan a nivel nominal u ordinal (ver Weiers, 1993).

Metodología de Desarrollo del Software

La metodología de desarrollo del software que se utilizará en la investigación será el Modelo en cascada ya que
un proceso secuencial de fácil desarrollo en el que los pasos son visto hacia abajo en forma de cascada de agua a
través de sus fases de análisis de necesidades, diseño, implementación, prueba, integración y mantenimiento,
después de un análisis se llegó a la decisión de utilizar esta metodología ya que muestra un alto grado de
confiabilidad y exactitud.

Análisis
Se basa en el actor principal del servicio que es el usuario interesado en el tema, nos permite saber a dónde va
dirigida la aplicación; durante las reuniones con el usuario se discutirán los puntos tales como: meta final del
proyecto; aspectos relevantes para la organización, los conceptos básicos, las expectativas del usuario y conocer el
método de distribución de la aplicación.
Esta fase permite definir que contendrá la aplicación, para quien es la aplicación, quien la usara, entre otros
aspectos importantes y necesarios para el desarrollo de las mismas, mediante la conversación con el cliente y los
agentes afectados directamente con la aplicación en cuanto a su uso en este caso los trabajadores de la empresa.

54
Determinación de los requerimientos del sistema
El desarrollador de la aplicación multimedia se encargará de determinar las necesidades del mismo y su
factibilidad es determinada por la disponibilidad real de los recursos necesarios para el desarrollo del prototipo

Definición de los objetos


Se definirán los objetos en función de las mismas y la relación existente entre ellas. El análisis del problema se
ha realizado a un nivel macro, por lo tanto, también los objetos serán definidos al mismo nivel. La relación existente
entre los objetos, está dada a través de las asociaciones entre los mismos, una vez representados los objetos, es
importante que en la aplicación multimedia se indique el objetivo de la misma hacia el tema seleccionado, así como
también definir el propósito de cada unidad de información.

Elaboración del esquema de navegación


En esta etapa se introduce la creación de un gráfico de navegación donde estarán representadas todas las
unidades de información. Este grafico representara el prototipo de la aplicación a desarrollar.

Diseño
En esta etapa se define el aspecto de la estética de la aplicación, si es llamativa la vista del usuario, entendible,
de fácil manejo, si contiene todo lo necesario para su uso y entendimiento.

55
Diseño funcional
Es el proceso en el cual se define la función instructiva para la que está destinada la aplicación, combinación de
elementos.

Diseño físico
Es el proceso en el cual se definen las características físicas de la aplicación: presentación y visualización de los
elementos, secuencias, uso de multimedios, entre otros.

Etapas de diseño
 Definición del conjunto de elementos que formarán y darán cuerpo a la interfaz de la aplicación
 Definición y clasificación de los productos parciales de la aplicación. Un producto parcial es un elemento de
interacción entre el usuario y la aplicación.

Desarrollo
Es la fase destinada a la programación y ensamble de los recursos de presentación y visualización. Cuando se
dice programación; todo depende de la herramienta que se desee utilizar o que se disponga para tal fin. También se
deben considerar de las herramientas requeridas para el ensamble de los recursos de presentación, visualización e
incorporación de multimedios.

1. Etapas del desarrollo

56
 Elección de las herramientas del desarrollo
 Incorporación de multimedios: se realizan todas las operaciones de digitalización de imágenes y sonidos,
generación de dibujos, edición de las imágenes, y las rutinas necesarias para su incorporación a la aplicación
(programa o procedimiento), transcripción de los textos que aparecen en la aplicación; dependiendo de la
herramienta de desarrollo se deberá codificar en los lenguajes.

2. Revisiones
Primera etapa: se refiere a las revisiones de funcionalidad del producto llevaba a cabo por el personal técnico
que ha desarrollado la aplicación multimedia.
Segunda etapa: se refiere a la revisión en forma conjunta con el usuario en la cual se identificará la conformidad
del mismo con el producto o la identificación de posibles cambios que deberán ser atendidas hasta que el producto
responda a los requerimientos y expectativas del usuario.

3. Implementación.
Se incorporan y se corrigen los posibles cambios en el prototipo para lograr un producto final. En esta fase se
congelan los posibles nuevos cambios a la aplicación y solo se debe producir una versión que puede ser distribuida
a todos los interesados, dejando abierta la posibilidad de generación de nuevas versiones.

57
CAPÍTULO IV
PRESENTACIÓN Y ANALISIS DE LOS DATOS

En el presente capítulo se expone bajo una perspectiva conceptual el análisis de datos, los cuales fueron
recaudados mediante la aplicación de técnicas y métodos cuantitativos, describiendo de manera no exhaustiva
algunos datos numéricos útiles tanto para la organización y presentación de los datos como para el análisis de los
resultados de investigación.
En ese sentido, es oportuno destacar que Tamayo y Tamayo (2003) expresa: “el análisis de los resultados y
obtener una mayor orden de los datos recabados, a fin de alcanzar un razonamiento concreto del contexto se
procede al análisis” (pag.45), por tal motivo, se expondrán los resultados de aplicación del cuestionario aplicado
como instrumento para recabar la información, cuyos datos proporcionados por programadores aportaron el insumo
necesarios para obtener el conocimiento y entender fenómenos vinculados al problema planteado. De igual modo,

58
se presentan a continuación los resultados de la aplicación del resto de los instrumentos y técnicas que favorecieron
en la recolección de los datos.

Presentación de los datos

Es importante mencionar que de un universo de 100 estudiantes de ingeniería en Informática, fueron


seleccionados aquellos que se desenvuelven como programadores freelance, los cuales totalizaron la cantidad de
35 estudiantes, simbolizando una muestra representativa de la población objeto de estudio. En sentido, se muestra
gráficamente los datos arrojados por el instrumento aplicado.

1. ¿Utiliza algún método para estimar costos para desarrollar software?

Gráfica 1.- Método para estimar costos

59
26%

SI
NO

74%

Fuente: Elaboración Propia (2019)


Deducción:
Tal como se desprende de la gráfica 1, el 74 % de los encuestados utilizan métodos formalmente establecidos o
estadarizados por expertos para estimar los costos de elaboración de software y otro 26% no cuentan con una
metodología pero determinan el costo por analogías vinculadas a otros software realizados o por consulta de otros
expertos.
Conclusión:

60
Es importante destacar que estos encuestados en su mayoría son aún estudiantes de la carrera de informática,
por lo que el proceso utilizado para estimar costos se ve influenciado por las metodologías explicadas en la
Universidad durante su proceso de formación, lo cual debe ser reforzado por la experiencia en cada proyecto
ejecutado.

2. ¿Considera en su estimación similitud con otros softwares y la complejidad de los requerimientos del cliente?

Gráfico 2.- Uso


del Método
COCOMO II
Fuente:
31% Elaboración
Propia
SI NO
(2019)

Deducción:
69%

De la gráfica 2, se
puede evidenciar
que el 31% de los
encuestados
considera para

61
estimar los costos de elaboración de software, las métricas vinculadas a software desarrollados con anterioridad y la
complejidad de los requerimientos del cliente, mientras que el 69 % de los programadores entrevistados usa otro
tipos de métricas para desarrollar software, lo cual esta estrechamente relacionado con el método que escoja por lo
tanto puede variar en cada desarrollo realizado.

Conclusión:
Del análisis presentado se concluye que, las métricas utilizadas pueden ser variadas, pues los modelos de cálculo
del costo de desarrollo de software se basan en un conjunto de variables, estas se denominan factores como el
costo, el esfuerzo o el tamaño, cada modelo basa sus estimaciones en un conjunto propio de factores. No obstante,
al desarrollar de una manera freelance y sin una metodología clara la estimación se puede ver afectada por la gran
cantidad de datos necesarios y la dificultad de obtenerlos.

3. ¿Considera que es importante realizar estimaciones de costos con una metodología bien definida?

Gráfica 3.- Importancia de contar con una metodología para estimar

62
23%

SI
NO

77%

Fuente: Elaboración Propia (2019)

Deducción:

Como se puede apreciar en la Gráfica 3 los programadores entrevistados consideran en un 77% que de suma
importancia contar con una metodología bien definida para precisar los costos y tiempo de desarrollo de software, lo
cual les favorece en el éxito del trabajo realizado y la satisfacción del cliente que hace el requerimiento. Así mismo,
se evidencia de la encuesta realizada que el 23 % no les resulta ser tan importante contar con un método definido
para realizar las estimaciones necesarias para el desarrollo de software.

Conclusión:

63
Las metodologías para el desarrollo del software imponen un proceso disciplinado sobre el desarrollo de software
con el fin de hacerlo más predecible y eficiente. En este sentido que los programadores freelance cuenten con una
metodología definida es vital para aumentar la calidad del software evaluando en cada etapa los requerimientos.
Igualmente se puede concluir que una metodología de software universal, pues toda metodología debe ser adaptada
a las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigiéndose así que el proceso sea
configurable, razón por la que los profesionales entrevistados destacaron en su respuesta la importancia de contar
con una metodología clara pero que a la vez debe ser flexible.
4. ¿Considera necesaria la automatización del modelo COCOMO II, para la estimación de costos y tiempo en el
desarrollo de software?

Gráfica 4.- Necesidad de la Automatización

si no
6%

94%

64
Fuente: Elaboración Propia (2019)

Deducción:

Con este ítem, se obtuvo una respuesta mayoritaria representada con el 94% de los encuestados, a favor de la
necesidad de automatizar el proceso de estimar los costos y tiempo necesario para el desarrollo de software y solo
un 6 % destacó que no le es necesario, pues en virtud de su experiencia en la forma de estimar, le resulta
satisfactorio el método utilizado.

Conclusión:
En este sentido es importante concluir que la necesidad de contar con una aplicación automatizada va a
representar una herramienta de gran utilidad y apoyo para estos programadores que, en virtud de la poca
experiencia, pueden ver más vulnerable el proceso de estimar costos, limitando así las posibilidades de éxito con los
método un tanto robustos que puedan estar utilizando.

5. ¿El beneficio obtenido como resultado de la


estimación realizada fue proporcional al
si
29% esfuerzo y recurso utilizado?

Gráfica 5.- Beneficio obtenido

no
71%

65

si no
Fuente: Elaboración Propia

Deducción:

Con respecto a este ítem, los encuestados destacaron que solo el 29 % obtuvo un beneficio realmente
satisfactorio o acorde con el esfuerzo realizado por el equipo de programadores, mientras que el 71% las
estimaciones realizadas fueron poco exactas o aproximadas, lo cual no les generó el beneficio económico deseado
o proporcional con el esfuerzo y recursos usados.

Conclusión:
En virtud de lo antes expuesto, es necesario concluir que la exactitud o proximidades a los costos y tiempo
requerido para desarrollar un software, son afectadas por la ausencia de metodologías claras y procedimientos bien
definidos de selección de métricas, lo cual se ve reflejado en la aplicación de la relación costo beneficio y en la
evaluación de la satisfacción del cliente o usuario del software.

66
6. ¿Los tiempos de entrega ofrecidos al cliente, de acuerdo a la metodología empleada para la estimación, se
cumplieron con exactitud en la mayoría de los casos?

si Gráfica 6.- Cumplimiento en los tiempos de


14%
entrega

no
86%

si no

Fuente: Elaboración Propia (2019)

Deducción:

Como se observa en la gráfica 6, el 86% de los programadores encuestados opinaron que con las estimaciones
realizadas y con las metodologías empleadas no fue posible acertar con el tiempo de entrega ofrecido al cliente, ya
que solo el 14 % obtuvo un resultado mas acertado logrando entregar en el tiempo arrojado por la estimación
realizada, cumpliendo así con la oportunidad de la entrega del software.

Conclusión:

67
Cuando se planifica un proyecto se tienen que obtener estimaciones del esfuerzo humano requerido, de la duración
cronológica del proyecto y del costo. En la mayoría de los casos las estimaciones se hacen valiéndose de la
experiencia pasada como única guía. En tal sentido, contar con buenas métricas asegura una correcta correlación
con el esfuerzo del proyecto, y facilita la estimación del mismo

7. ¿Considera usted que una aplicación será efectiva para lograr exactitud de las mediciones realizadas?

Grafica 7.- Efectividad de una Aplicación para Estimar Costos


no
9%

si
91%

si no

Fuente: Elaboración
Deducción:

68
De las respuestas recibidas por los programadores, se desprende que el 91% considera que la realización de
una aplicación para estimar costos, favorecerá a la obtención de la exactitud de los costos estimados, lo cual incide
en la satisfacción del cliente y el éxito del programador como profesional dedicado al desarrollo de software,
mientras que contrariamente solo un 9 % dudan de que con la implementación de una aplicación se pueda obtener
la exactitud deseada.
Conclusión:
En este sentido, se concluye que es favorable contar con una aplicación que proporcione a l desarrollador
freelance una herramienta, rápida y segura que le permita estimar costos y tiempos con mayor exactitud, lo que a su
vez se va a traducir en la satisfacción del cliente y en la competitividad del programador.

Análisis General de los Resultados

Como bien ha sido expuesto durante la investigación se utilizaron varias técnicas de recolección de datos con su
respectivo instrumento, los cuales permitieron recabar datos de suma importancia que han permitido realizar un
análisis general que permitirá dar respuesta a las interrogantes planteadas y alcanzar el logro de los objetivos de
investigación. En este sentido, resulta necesario destacar que la investigación se dio inicio con una revisión
documental vinculada a las metodologías desarrolladas por expertos para estimar costos y tiempo para programar y
basada en trabajos anteriores que fundamentaron las bases teóricas de este trabajo de grado.
Así mismo, mediante la técnica de la observación y entrevistas fue posible evidenciar los medios utilizados por
los programadores seleccionados como muestra, los cuales por sus propios medios y criterios (ya que se

69
desempeñan de forma Freelance) establecen una estimación que les permite de alguna manera determinar el
tiempo y los costos necesarios para el desarrollo de un software.
En este orden de ideas, las encuestas realizadas, cuyos datos recabados se presentaron anteriormente,
permitieron determinar la necesidad de estandarizar una forma sencilla y confiable de estimar costos, utilizando
métricas definidas por el Modelo COCOMO II que van a permitir optimizar las estimaciones realizadas. Es
importante mencionar, que la encuesta arrojó datos vinculados a la importancia de contar con un medio que permita
llegar a un resultado lo más aproximado posible, favoreciendo la satisfacción del usuario o cliente que solicita los
servicios de programación.
Finalmente, los datos analizados evidencian la importancia de estimar el esfuerzo que requiere la realización de
un proyecto, el cual debería ser siempre el primer paso que demos para acometerlo. Una adecuada estimación es la
base de toda planificación creíble y útil, por lo que se debe conocer las distintas técnicas existentes y usarlas (a
menudo de manera combinada) como medio para elaborar un plan de proyecto orientado hacia el éxito.

70
CAPITULO V

CONCLUSIONES Y RECOMENDACIONES

El presente Capítulo da cuenta de las conclusiones y recomendaciones de la investigación, lo cual fue


considerado de acuerdo al desarrollo de cada objetivo específico, tal como se muestra a continuación:

Conclusiones

71
 De la investigación realizada se pudo evidenciar que existen diversas métricas a emplear para estimar costos
y la determinación de cada una de ellas va estar relacionada por la experiencia del programador. En tal
sentido, se aplicó la técnica de la encuesta en que se determinó que las Métricas del software son las que
están relacionadas con el desarrollo del software como funcionalidad, complejidad, eficiencia, se centran en
las características del software, por ejemplo: la complejidad lógica, el grado de modularidad. De igual modo
se desprende del análisis documental que las métricas corresponden a la unidad de medida que se utiliza
como referencia para calcular el total de trabajo desarrollado, considerando con mayor relevancia Líneas de
código, Complejidad de los algoritmos y funciones del software.
 Ahora bien, al analizar estas métricas existentes y los datos provenientes de la encuesta e investigación
documental se obtiene que la medición es muy común en el mundo de la ingeniería a pesar de las diferencias
en criterios para determinar métricas a la hora de medir y cómo se van a evaluar las medidas, en este sentido
hay varias razones para medir un producto, para indicar la calidad del producto, para evaluar la productividad
de los desarrolladores, para evaluar los beneficios en términos de calidad, derivados del uso de nuevos
métodos y herramientas de la ingeniería de software, para establecer una línea de base para la estimación y
para medir el costo del proyecto.
 Observando directa y participativamente la forma en que se emplean diversas metodologías de estimación,
se obtiene que el modelo COCOMO II es un modelo que permite estimar el costo, el esfuerzo y el tiempo
cuando se planifica una nueva actividad de desarrollo software, y está asociado a los ciclos de vida
modernos. Sobre este particular el desarrollo de una aplicación que permita la aplicación de este modelo, de

72
una manera automatizada va a proporcionar exactitud en los costos de los proyectos a desarrollar
favoreciendo a la oportuna toma de decisiones. Su interfaz ha de satisfacer aquellas necesidades expresadas
por los estimadores de software, como por ejemplo el apoyo a la planificación de proyectos, la previsión de
personal del proyecto, replanificación, seguimiento, negociaciones de contrato y la evaluación del diseño.
 Se logró determinar que, para el desarrollo de una aplicación destinada a la estimación de costo y tiempo
para el desarrollo de software, es necesario contar con la definición clara de las métricas a emplear,
destacando como producto de esta investigación, el esfuerzo humano, la complejidad del proyecto y la
similitud que se pueda determinar con otros softwares desarrollados anteriormente. Siendo esta la base de
datos referencial para esta aplicación la cual será empleada por desarrolladores freelance.
 En este sentido se constató la importancia de evaluar previo a la implementación del software la detección de
errores que puedan afectar la satisfacción del usuario o cliente, así como. las fallas que van a permitir que
dentro del código se proporciones los datos reales.
 Finalmente, se concluye como paso final o posterior a la realización de la prueba del software para la
estimación de costos un segura implementar del sistema, contando con el respectivo plan de implementación
y manales que van a facilitar la puesta en marcha de la aplicación.
Recomendaciones

Luego del desarrollo de la presente investigación, el autor recomienda lo siguiente:


1. Estandarizar criterios para definir métricas destinadas a la estimación de costo y tiempo para el
desarrollo de software.

73
2. Aplicar las métricas desde la planificación del proyecto y mantener el proceso de mejora continua
durante todas las etapas del desarrollo de software.
3. Emplear una aplicación con metodologías para estimación de costos bien definidas, cuyos análisis de
datos o requerimientos del cliente puedan ser considerados en todo momento.
4. Determinar de acuerdo con la experiencia del programador, la base de datos que permita tabular los
elementos requeridos para estimar costos, de acuerdo al modelo COCOMO II.
5. Realizar revisiones periódicas para evitar fallas del sistema que puedan ser perjudiciales para la
exactitud de la estimación realizada.
6. Realizar escenarios manteniendo de manera independiente aquellas variables externas al proyecto,
como por ejemplo, inflación, impuestos, entre otros, de manera de poder medir efectos de variaciones
de estas sobre la estimación final.

CAPÍTULO VI
LA PROPUESTA

74
Formulación de la Propuesta

La propuesta es automatizar el proceso de estimación de costo y tiempo para el desarrollo de software,


usando el modelo COCOMO II, para los profesionales de la programación que desarrollan de manera
independiente, a los fines de obtener cifras oportunas y lo más aproximadas posibles para lograr el éxito de
software desarrollado.

Diagnóstico de la propuesta

Para el diagnóstico de la propuesta se enfocó a conocer la actual situación que experimentan los
desarrolladores freelance al momento de estimar los costos y tiempo a destinar para la elaboración de un software,
ya que estos profesionales independientes en su mayoría no cuentan con una metodología claramente definida que
le facilite la toma de decisiones en la medida que van desarrollando.

Sobre este particular, es importante destacar los resultados obtenidos de esta investigación, en la que se
destacó la existencia de diferentes métricas que aplicándolas sobre la base de una metodología de estimación van
a proporcionar los valores mas aproximados para lograr atender los requerimientos del cliente que solicita el
software y la posibilidad de ofrecer una entrega en tiempo real, favoreciendo, además, a mantener la
competitividad del programador freelance.

75
En virtud de lo anterior, se plantea la necesidad del desarrollo de un sistema para la estimación de costo y
tiempo para proyectos de software usando el modelo COCOMO II, para desarrolladores freelance, con el
objeto de proporcionar exactitud a la hora de estimar cuanto tiempo le llevará atender el requerimiento de
un cliente, el esfuerzo y la cantidad de recurso humano que necesitará y cuanto representará eso en valor
monetario.

Para tal fin, se empleará el sistema web bajo el entorno del Sistema Operativo Windows, desarrollado en el
lenguaje de programación PHP, ya que es uno de los lenguajes de programación diseñados para la
infraestructura de lenguaje común.

Denominación de la Propuesta

La propuesta está enmarcada bajo el nombre de: Automatización del proceso de estimación de costo y
tiempo para desarrollar software usando el modelo COCOMO II, que para efectos de este trabajo será
llamado PECTDS, que son las siglas para Proyecto de Estimación de Costo y Tiempo en el Desarrollo de
Software, para desarrolladores freelance, el cual da respuesta a las problemáticas que actualmente se detecta
en la entrega oportuna del software y calculo real de los costos que generan su desarrollo, haciéndose de una
manera automatizada con el fin de optimizar la exactitud y entrega oportuna al cliente.

Objetivos de la Propuesta
Objetivo General

76
Automatizar los procesos para la estimación de costo y tiempo en el desarrollo de software usando el modelo
COCOMO II.

Objetivos Específicos

 Asegurar la integridad de la Base de Datos del Sistema PECTDS.


 Mantener el Sistema PECTDS de acuerdo a las necesidades de información de los usuarios
 Garantizar el funcionamiento permanente del Sistema PECTDS

Justificación de la Propuesta

Esta Investigación se justifica en la necesidad de unificar mediante el uso de una herramienta web, las métricas
más comunes y útiles para garantizar la exactitud y oportunidad durante el proceso de estimación de costos y
tiempo para el desarrollo de software.

Esta herramienta va a facilitar el cálculo para la obtención de un costo monetario justo no solo para el
profesional que cuenta con alta experiencia en el desarrollo de software sino también para aquellos que recién
incursionan en el mercado de la programación y requieren posicionarse como profesionales, entregando en
condiciones de eficiencia y eficacia el software solicitado por el cliente.

77
En este orden de ideas, es necesario destacar que esta herramienta obedece al gran interés que han mostrado
actualmente las empresas del mundo para la automatización de procesos y simplificación de trámites, lo cual
convierte en una necesidad la inversión en las tecnologías de la información y la comunicación, lo que incluye el
desarrollo de software, requiriendo cada vez mas de profesionales en el área que en el menor tiempo posible
puedan satisfacer las necesidades de automatización.

Metas

 Lograr la implementación del sistema de estimación de costo y tiempo en un 85%


 Optimizar el tiempo de respuesta de costo y tiempo destinado para el desarrollo del software en un
70%
 Alcanzar en un 90% el uso de la herramienta tecnológica para la estimación de costo y tiempo.
 Disminuir en 70% los errores manuales en la elaboración la estimación de costo y tiempo para el
desarrollo del software

Beneficiarios

con la ejecución de este proyecto se beneficiara directamente a los programadores que de manera
independiente ofrecen sus servicios de elaboración de software, ya que reducirá los tiempos de respuesta, así
como la eliminación de errores manuales; y el aumento de la productividad, impactándolos de forma positiva en su

78
bienestar y competitividad laboral; indirectamente a los clientes o empresas que contraten los servicios de
programadores freelance ya que serán atendidos sus requerimientos en tiempos reales considerando las métricas
mínimas para dar una respuesta satisfactoria para el logro de los objetivos y metas planteadas, como es el esfuerzo
humano, la complejidad del sistema a desarrollar, etc.

Localización

El Sistema estará alijados en un servidor local Apache con el fin de previsualizar y probar el código mientras éste
es desarrollado, igualmente su base de datos estará alojada en el servidor mediante el gestor MySQL.

Plan Operativo de Actividades.

Según el Manual, normas y orientaciones para la elaboración del trabajo de grado (TG-UAH), el plan
operativo de actividades, “es uno de los aspectos esenciales en la elaboración de un proyecto porque permite
juzgar su factibilidad y establecer si existe una distribución uniforme del trabajo” (p.38), es decir, permite
determinar si los plazos de tiempo asignados para cada una de las fases son proporcionados o existe un
desajuste en los mismos.

Gráfico N° 8. Plan de trabajo (Diagrama de Gantt)

79
Fuente: Rojas, Otniel (2019).

Estudio de Factibilidad.
Se entiende por estudio de factibilidad al análisis que se realiza con el fin de determinar la vialidad y éxito
del proyecto, recopilando datos relevantes, para ir evaluando las diversas variables que determinan su éxito .
La factibilidad se apoya en tres (3) aspectos básicos:

 Operativo.
 Técnico.
 Económico

80
El éxito de un proyecto está determinado por el grado de factibilidad que se presente en cada una de los tres
aspectos anteriores. Kendall y Kendall (1997), establecen que “la factibilidad del proyecto no es una decisión a
ser tomada por el analista de sistemas sino por la administración” (p.53).

Por tal razón, se puede decir que las decisiones están basadas en los datos de factibilidad recolectados en
forma experta y profesional presentados por el analista.

Factibilidad Técnica

La factibilidad técnica para White, Bentley y Barlow (1996), satisface como medida preliminar “el éxito de
la puesta en práctica de una solución técnica específica y de la disponibilidad de los recursos y los
conocimientos técnicos necesarios” (p.854), que se han de utilizar dentro de este proyecto. A través de los
siguientes cuadros se muestran los principales recursos técnicos que serán utilizados en la implementación y
desarrollo del sistema:

81
Factibilidad/ Hardware.

Cuadro Nº 3. Factibilidad/ Hardware.

CANT MARCA MODELO DESCRIPCIÓN USO


1 VIT SR2280M4 SERVIDOR Procesador (2) x Servidor donde
VERSIÓN INTEL® se
03 XEON® E5 SERIES E5-2650 almacenará la
V4. aplicación y la
Cache / QPI 25 M / 9.6 GT/s. base de datos.
Núcleos 10. Chipset INTEL®
VIT Vit Monitor
C610. 19.5” (16:9) ConMonitor que
LED2280 Retroiluminación LED, mostrará la
1
Resolución de 1600×900. Puerto interfaz gráfica
VGA de usuario
Fuente: Rojas, Otniel (2019).

Técnica/Software

82
Sistemas Operativos y herramientas ofimáticas Implementados para los programadores freelance de la
Universidad Alejandro de Humboldt

Cuadro N° 4. Sistemas operativos y ofimáticos.


XAMPP es un paquete de software libre, que consiste principalmente en el
sistema de gestión de bases de datos MySQL, el servidor web Apache y los
intérpretes para lenguajes de script PHP y Perl.
Sistema operativo Windows 7 es una versión de Microsoft Windows, línea
de sistemas operativos producida por Microsoft Corporation. Esta versión está
diseñada para uso en PC, incluyendo equipos de escritorio en hogares y
oficinas, equipos portátiles, tabletas, netbooks y equipos multimedia.

Fuente: Rojas, Otniel (2019).

Cuadro N° 5. Lenguajes de Programación


Software y lenguajes de programación para la creación del Sistema Automatizado
PHP, acrónimo recursivo en inglés de PHP: Hypertext Preprocessor (preprocesador
de hipertexto), es un lenguaje de programación de propósito general de código del
lado del servidor originalmente diseñado para el pre-procesado de texto plano en
UTF-8. Posteriormente se aplicó al desarrollo web de contenido dinámico, dando un
paso evolutivo en el concepto de aplicación en línea, por su carácter de servicio.
Sublime Text es un editor de texto y editor de código fuente está escrito en C++ y
Python para los plugins. Desarrollado originalmente como una extensión de Vim, con

83
el tiempo fue creando una identidad propia, por esto aún conserva un modo de
edición tipo vi llamado Vintage mode

MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo


licencia dual: Licencia pública general/Licencia comercial por Oracle Corporation y está
considerada como la base de datos de código abierto más popular del mundo

Bootstrap: es una biblioteca multiplataforma o conjunto de herramientas de


código abierto para diseño de sitios y aplicaciones web.

Fuente: Rojas, Otniel (2019).

Factibilidad Operativa
La factibilidad operativa tiene como basamento los conocimientos técnicos y operativos de los usuarios del
nuevo sistema, comprobando que la empresa le dará el uso debido al sistema. Es importante señalar que se
cuentan con los conocimientos necesarios de la rama de la ingeniería en informática, que permite operar
adecuadamente los procesos en el área técnica.

La misma se apoya a la conceptualización realizada por Juan Godoy (2008) donde interpreta que se debe
garantizar la factibilidad operativa “Asegurar que no va a faltar el personal necesario para que el sistema
funcione adecuadamente y no altere el ritmo del trabajo”. Pág. (11). También es importante señalar que, el
sistema no debe ser de alta complejidad para los usuarios, para ello se debe evitar que el usuario ocupe el
sistema de manera que pueda ocasionar errores o darle un uso indebido, simplificar las funciones y dar todo por
servido.

84
Factibilidad económica

La factibilidad económica está directamente relacionada con los costos generados por el desarrollo del
sistema con el éxito que este pueda tener, incluyendo los análisis de costos y beneficios asociados con cada
alternativa del proyecto, al respecto Whitten, Bentley y Barlow (1996), la explican como “una medida de la
eficacia de los costos asociados a un proyecto o una solución” (p.854).

Factibilidad económica de Hardware

Cuadro Nº6. Factibilidad económica de hardware

CANTIDAD MARCA MODELO COSTO COSTO COSTO


UNITARIO UNITARIO REAL
EN $ REFERENCIA $ EN $

85
1 VIT SR2280M4 694,95 694,95 0,00

VERSIÓN
1 VIT Vit 149,99 149,99 0,00

TOTAL 844,94 844,94 0,00


Fuente: Rojas, Otniel (2019).

Los programadores freelance por ser esta su forma de empleo, cuentan con los equipos (hardware)
necesarios para la ejecución del proyecto, siendo ellos mismos los usuarios del sistema, por lo que va a
representar una mejora importante para sus tiempos de respuesta en cuanto a la estimación de costos y tiempo
para el desarrollo de software.

Factibilidad económica de Software

Los paquetes de software utilizados para la implementación del sistema son de distribución libre por
lo que no generara gastos de licencias.
Cuadro N° 7. Factibilidad económica de Software
Cantidad Producto Costo unitario Costo Costo real en
en $ referencial en $
$
1 Servidor $0 $0 $0
Apache
Xampp
1 Windows 7 $120 $120 $120

86
TOTAL $120
Fuente: Rojas, Otniel (2019).

Factibilidad Económica de Capital Humano.

Cuadro N° 8. Factibilidad Económica de Capital Humano.

Cantidad Cargo Horas a Costo referencial Costo total por


dedicar por horas en $. proyecto

1 Líder del 520 8,5 4.420


Proyecto
1 Líder 130 8 1.040
Funcional
TOTAL 5.460

Fuente: Rojas, Otniel (2019).

No está estipulado ningún costo hora hombre pues el sistema será implementado como requisito para optar al
título de ingeniero en informática.

Metodología de desarrollo del Sistema Propuesto

En la presente investigación se seleccionó la Metodología Kendall & Kendall (Modelo Cascada), en la cual se
cumplieron con todas las Fases que requiere la aplicación de la misma, a continuación, se describe esta metodología:

87
Gráfico Nº9. Metodología de desarrollo

Fuente: Rojas, Otniel (2019)

Fase I: Análisis de necesidades


En la primera fase el analista es el encargado de identificar los problemas de la organización, detallar, examinar y
evaluar las oportunidades y objetivos. El analista debe identificar y evaluar los problemas existentes en la
organización de manera crítica y precisa, a su vez debe identificar los objetivos, es decir, él debe indagar lo que la
organización trata de conseguir, se podrá determinar si algunas funciones de las aplicaciones de los sistemas de
información pueden contribuir a que la fundación alcance sus objetivos aplicándolas a problemas u oportunidades
específicos. Los usuarios, los analistas y los administradores de sistemas que coordinan el proyecto son los

88
involucrados en la primera fase. Las actividades de esta fase son las entrevistas a los encargados de coordinar a los
usuarios, sintetizar el conocimiento obtenido, estimar el Análisis de las necesidades Diseño Implementación Prueba
Integración y mantenimiento, alcance del proyecto y documentar los resultados.

Fase II: Diseño del Sistema


En esta fase el analista utiliza la información recopilada en la primera fase para realizar el diseño lógico del
sistema de información, diseña procedimientos precisos para la captura de datos que aseguran que los datos que
ingresen al sistema de información sean correctos, facilita la entrada eficiente de datos al sistema de información
mediante técnicas adecuadas de diseño de formularios y pantallas, análisis de los procesos, jerarquía de las
actividades, análisis de las actividades, asignación del costo a los procesos, y cálculo del costo total, diseño
estratégico, cálculo del costo de las actividades.

La concepción de la interfaz de usuario, forma parte del diseño lógico del sistema de información, la interfaz
conecta al usuario con el sistema y por lo tanto es sumamente importante. También incluye el diseño de archivos o
bases de datos que almacenarán gran parte de los datos indispensables para los encargados de tomar las
decisiones. En esta fase el analista interactúa con los usuarios para diseñar la salida (en pantalla o impresa) que
satisfaga las necesidades de información de estos últimos. Finalmente, el analista debe diseñar controles y
procedimientos de respaldo que protejan al sistema y a los datos y producir paquetes de especificaciones de
programa para los programadores.

Fase III: Implementación

89
En esta fase del ciclo del desarrollo de sistemas, el analista trabaja de manera conjunta con los programadores
para desarrollar cualquier software. Entre las técnicas estructuradas para diseñar y documentar software se
encuentran los diagramas de estructuras, los diagramas de Nassi- Shneiderman y el pseudocódigo.

Durante esta fase el analista trabaja con los usuarios para desarrollar documentación efectiva para el software,
como manuales de procedimientos, ayuda en línea y sitios web que incluyan respuestas a preguntas frecuentes en
archivos “léame” que se integrarán al nuevo software.

La documentación indica a los usuarios cómo utilizar el sistema y qué hacer en caso de que surjan problemas
derivados de su uso. Los programadores desempeñan un rol clave en esta fase porque diseñan, codifican y eliminan
errores sintácticos de los programas de cómputo.

Gráfico Nº10. Implementación.

Fuente: Rojas, Otniel (2019).

90
Fase IV: Prueba
Antes de poner en funcionamiento el sistema es necesario probarlo, es mucho menos costoso encontrar los
problemas antes que el sistema se entregue a los usuarios. Una parte de las pruebas la realizan los programadores
solos, y otra la llevan a cabo de manera conjunta con los analistas de sistemas. Primero se realizan las pruebas con
datos de muestra para determinar con precisión cuáles son los problemas y posteriormente se realiza otra con datos
reales del sistema actual. Ejerciéndose de esta manera

 La programación de las pruebas del sistema.


 Instrumento para evaluar el sistema de información.
 Resumen de las pruebas del sistema.
 Informe de las pruebas y discusión con el programador.

Fase V: Integración y Mantenimiento


Esta es la última fase del desarrollo de sistemas, y aquí el analista participa en la implementación del sistema de
información. En esta fase se capacita a los usuarios en el manejo del sistema. Parte de la capacitación la imparten
los fabricantes, pero la supervisión de ésta es responsabilidad del analista de sistemas. Se menciona la evaluación
como la fase final del ciclo de vida del desarrollo de sistemas principalmente en áreas del debate. En realidad, la
evaluación se lleva a cabo durante cada una de las fases. El trabajo de sistemas es cíclico, cuando un analista
termina una fase del desarrollo de sistemas y pasa a la siguiente, el surgimiento de un problema podría obligar a
regresar a la fase previa y modificar el trabajo realizado. El mantenimiento del sistema de información y su

91
documentación empiezan en esta fase y se llevan de manera rutinaria durante toda su vida útil. En tal sentido, en
esta fase se debe:

 Planificar gradualmente la conversión del sistema anterior.


 Instalar los equipos de hardware necesarios para el funcionamiento del software creado.
 Capacitar por medio de talleres a los usuarios en el manejo de equipos y software creado.
 Evaluar la adaptabilidad de los usuarios al sistema.
 Elaborar la planificación de las horas del mantenimiento del sistema.
 Elaborar la lista de las operaciones que pudieran sufrir modificaciones de códigos.
Diagrama de flujo
Según Zuñiga (2016): Es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan
ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que
suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos,
óvalos, diamantes y otras numerosas figura para definir el tipo de paso, junto con flechas conectoras que
establecen el flujo y la secuencia. (p. 52).

Dicha herramienta grafica será usada para representar el algoritmo o proceso para utilizar el sistema propuesto.

Para la creación de un diagrama de flujo se debe tener en cuenta las siguientes reglas:

 Los diagramas de flujo deben escribirse de arriba hacia abajo y/o de Izquierda a derecha.

92
 Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica su dirección que fluye la
información procesos, se deben utilizar solamente líneas de flujo horizontal o vertical (nunca diagonales).
 Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se
pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores
cuando sean estrictamente necesarios.
 Todos los símbolos pueden tener más de una línea de entrada, a excepto del símbolo final.
 Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

Inicio Reporte

Fin Entrada de datos


manual
Operación Conector de páginas

Entrada/Salida Base de Datos

De datos
Proceso predefinido Conector Interno
(Modulo)

93
INICIO
Autor: Rojas, Otniel (2019).
DETERMINAR
METR ICA

INGR ESO DE
Gráfico Nº12. Diagramas de Flujo
DATOS A
TABLA

PR ODUCT
O
N IVEL
DIFI CULTA FI N
D

™ METR IC A
POR EN TR ADA

TI EMPO
(MES)
™ METR IC A HOMBRE
POR EN TR ADA S (MANO
DE
OBR A)
N /H
™ METR IC A
POR PUNTO
DE FUNCI ÓN
(P.F .)

¿Cuántas N/T
TI PO DE PER SONAS
LENGUAJE TR ABAJARAN
(LDC/P.F.) (H )?

¿EN CU ANT O
PRODUCTO ¿CALCULO TI EMPO
P.F . x LDC/P.F . D E TI EMPO? DESEA
CULMINAR (T)?

E(H-M) Ξ N
LDC
ENTER O

94
LDC/1.000 E(H-M)

2,94 X MLDC
MLDC
^1, 0681
Autor: Rojas, Otniel (2019).

Diagrama Entidad Relación

Según Fernández (2006), explica que un diagrama entidad relación es “la definición de entidades y de relaciones
entre los datos. Es una herramienta de modelado de datos que describe las asociaciones que existen entre las
diferentes categorías de datos dentro de un sistema de empresa o de información” (p.151).

Siendo imprescindible para el desarrollo de este proyecto, se debe contar con un esquema lógico para visualizar
y establecer las dependencias, interrelaciones y propiedades de las entidades del sistema.

Gráfico Nº13. Diagrama de Entidad Relación

95
Autor: Rojas, Otniel (2019).

Gráfico Nº14. Pantalla 1. Acceso al Sistema


Autor: Rojas, Otniel (2019).

En el grafico se puede apreciar el


desarrollo del método COCOMO II,
partiendo de la tabla de determinación
de métricas

Conclusión y Recomendación
Conclusión:

96
Con la ejecución de este proyecto se llega a la conclusión de que la estimación del costo para el desarrollo de
software y la exactitud de este representa un factor clave tanto para el programador que desarrolla el producto de
software como para el usuario, el cual espera que el costo del software coincida con el estimado.

Una estimación lo suficientemente exacta permite al programador una mejor planificación de los proyectos que
administra o tiene en desarrollo, así como una mejor asignación de los recursos necesarios para cada proyecto.

En este orden de ideas, se concluye que el desarrollo de un software es una actividad compleja pues se obtiene
como resultado un producto intangible que depende principalmente del esfuerzo intelectual y creatividad de
personas que lo realizan, lo cual se ve favorecido con la automatización del proceso. Sin embargo, los errores
humanos pueden estar presentes en todas las etapas de un proyecto por lo que la exactitud implica la utilización de
metodologías, procedimientos, métricas y estándares para el análisis, diseño, programación y prueba del software
desarrolladas en el proyecto permiten uniformar los criterios de trabajo.

Recomendaciones
En virtud de lo antes expuesto, se recomienda lo siguiente:

 Actualizar las métricas propuestas de acuerdo a la necesidad del usuario para mejorar el cálculo del costo en
la actividad de desarrollo.
 Estudiar constantemente nuevas técnicas de estimación de software, que favorezcan a la exactitud de los
resultados.

97
 Aplicar las métricas desde la planificación del proyecto y mantener el proceso de mejora continua durante
todas las etapas del desarrollo de software.
REFERENCIAS DE BIBLIOGRÁFICAS

Andreu, R., Ricart, J. E. y Valor, J. (1996): Estrategia y Sistemas de Información, 2ª Edición, McGraw-Hill. Madrid.
Whitten, Bentley y Dittman (2004): La investigación Educativa. Universidad pedagógica experimental Libertador.
Buendía, L y Hernández, F. (1997): Métodos de investigación en Psicopedagogía. Madrid: McGraw-Hill.
Murdick (1998): El proyecto de investigación y su esquema de elaboración. (4ª. ed.). Caracas. Suyapa.
Tellez Valdez (1996). Ingeniería de software. España. Editorial UOC.
Díaz (2005): Análisis y Planteamiento (4ª. ed.). San José Costa Rica: Editorial Universidad Estatal a Distancia.
Hurtado (2007): El proyecto de Investigación. Una Comprensión Holística (3ª. ed.). Bogotá: Cooperativa Editorial
Magisterio.
Hurtado y Toro. (1998). Metodología de la Investigación Holística. Caracas: Fundación SYPAL-FUNDACITE.
Huidobro J. (2005): La tecnología e-business. (3ª. ed.). Editorial: Thomson Paraninfo.
Hernández (2002). Metodologías de la investigación (3 era Ed) México, Mc Graw Hill.
Ricart, J.E. y Valor, J. (1996): Estrategia y Sistemas de Información. McGraw‐Hill. Madrid.
Ramírez (1996): Cómo hacer un proyecto de investigación. 4 Edición. Venezuela: Editorial Tulio Ramírez.
McLedor (2000): Sistemas de información gerencial (7ª. ed.), Prentice Hall Hispanoamericana S.a. México.
Juan José Jiménez Delgado (2002), Análisis y Diseño de Sistemas de Información. McGraw Hill. México, 1987.

98
Trabajos y Tesis de Grado
Cruz, J. (1998) “Diseño de una metodología de estimación de costos en ingeniería de software usando el
modelo de las capacidades de la madurez del software, CMM”, Tesis de Grado publicada en:
https://www.cs.cinvestav.mx/TesisGraduados/1998/TesisJesusNaro.pdf
González, G. (2018) “Estimación de costo de software: Una propuesta de
aplicación pedagógica de COCOMO”, Tesis de Grado publicada en: https://www.scielo.sa.cr/scielo.php?
script=sci_abstract&pid=S2215-34702018000100118&lng=es&nrm=iso&tlng=es
Lizardo, M. (2010) “Diseño de una propuesta de Mejores Prácticas para la Estimación de Costos de
Proyectos para una Empresa Consultora de Ingeniería”. Trabajo especial de Grado publicado en:
http://w2.ucab.edu.ve/tesis-digitalizadas2/search/costos/orderby/ths_college/sort/asc.html

Fuentes de Tipo Legal

Constitución de la República Bolivariana de Venezuela de fecha 19 de febrero de 2009, Gaceta Oficial N°5.908.
Ley de Infogobierno de fecha 17 de octubre de 2013, Gaceta Oficial N° 40.274.

99

También podría gustarte