Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GENERACIÓN
2016-2020
TESIS
Que para obtener el título de:
Presentan:
Directora de tesis:
CONTENIDO PÁGINA
DEDICATORIAS Y AGRADECIMIENTOS.................................................. 10
INTRODUCCIÓN ……………………………………………………………….. 12
CAPÍTULO 1. PROBLEMATIZACIÓN DEL OBJETO DE ESTUDIO
1.1 Planteamiento del problema ……………………………………………. 14
1.2 Objetivos ……………………………………………………….................. 16
1.2.1 Objetivo general ………………………………………………….. 16
1.2.2 Objetivos específicos ……………………………………………. 16
1.3 Justificación ……………………………………………………………….. 17
1.4 Delimitación de la investigación…………...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 19
3
2.2.3.1 Lenguajes de programación orientada a objetos ….. 33
2.2.3.1.1 Java ……………………………………….…... 34
2.2.3.1.2 Ruby …………………………………………... 34
2.2.3.1.3 Phyton ………………………………………… 35
2.2.3.1.4 C# ……………………………………………… 36
2.2.3.2 Herramientas y entornos de desarrollo de software .. 37
2.3 Calidad del software ……………………………………………………… 38
2.3.1 Conceptos de calidad …………………………………………... 39
2.3.1.1 Estándares de calidad ………………………………… 40
2.3.2 Aseguramiento estadístico de la calidad del software............. 44
2.3.3 Técnicas de aseguramiento de la calidad de software ……… 45
2.3.3.1 Técnicas de revisión …………………………………... 47
2.3.3.1.1 Aplicación de revisión técnica informal …… 48
2.3.3.1.2 Aplicación de revisión técnica formal ……... 49
2.3.3.1.3 Reporte de evaluación de software ……….. 50
2.3.4 Prueba de aplicaciones orientada a objetos …………………. 51
2.3.4.1 Guía y aplicación de pruebas ………………………... 53
2.3.4.2 Reporte de casos de prueba de software ………….. 55
2.3.5 Resultados del aseguramiento de la calidad de software …... 55
4
4.3 Técnicas de investigación ………………………………………………. 67
4.3.1 Observación ………………………………………………………. 67
4.3.2 Entrevista ………………………………………………………….. 68
4.4 Participantes de la investigación ………………………………………. 69
4.5 Instrumentos de investigación …………………………………………. 71
4.5.1 Cédula de observación ………………………………………….. 71
4.5.2 Guía de entrevista ……………………………………………….. 72
4.6 Análisis de datos …………………………………………………………. 73
5
5.4.3.1 Guía de prueba orientado a objetos ………………….. 92
5.4.3.1.1 Caso de prueba “agregar productoras” ……. 92
5.4.3.1.2 Caso de prueba “eliminar productoras” ……. 93
5.4.3.1.3 Caso de prueba “modificar productoras” …... 94
5.4.3.1.4 Caso de prueba “agregar programa” ………. 95
5.4.3.1.5 Caso de prueba “eliminar programa” ………. 97
5.4.3.1.6 Caso de prueba “modificar programa” ……… 98
5.4.3.1.7 Caso de prueba “catálogo de programas” …. 99
5.4.3.1.8 Caso de prueba “generar pauta programática” 100
5.4.3.1.9 Caso de prueba “añadir contacto” ………….. 102
5.4.3.1.10 Caso de prueba “eliminar contacto” ………. 103
5.4.3.1.11 Caso de prueba “añadir capítulo” …………. 104
5.4.3.1.12 Caso de prueba “modificar capítulo” ……… 105
5.4.3.1.13 Caso de prueba “eliminar capítulo” ……….. 107
5.4.3.1.14 Caso de prueba “modificar pauta
programática” …………………………………………….. 108
5.4.3.1.15 Caso de prueba “diseño de interfaz” ………. 109
5.4.3.2 Reporte de casos de prueba de software …………….. 111
5.4.4 Aseguramiento de la calidad …………………………………….. 113
5.4.5 Producto final ……………………………………………………… 114
CONCLUSIONES ………………………………………………………………... 119
REFERENCIAS …………………………………………………………………... 120
6
ÍNDICE DE TABLAS
PÁGINA
8
ÍNDICE DE FIGURAS
PÁGINA
Figura 5.5 Pestaña “Programación”, interfaz “crear pauta programática” ............ 115
9
DEDICATORIA
“A mi madre, padre y hermano porque han sido parte de mi formación y crecimiento
cada día, por inculcarme buenos valores, sentimientos y hábitos, mismos que me
han permitido sobrellevar los momentos difíciles, por ser mi mayor motivación para
no rendirme y siempre dar lo mejor de mí”.
“A mi abuela, que desde el cielo me ilumina para seguir adelante con mis proyectos
y me enseñó el significado de ser fuerte y valiente”.
“A toda mi familia, por siempre estar presente, por motivarme, apoyarme y por todo
su cariño”.
AGRADECIMIENTO
Principalmente agradezco a Dios, por hacer su voluntad en mí, por ser mi guía en
todo momento y por darme la fortaleza para continuar cada día.
A mis padres, Víctor y Natalia y a mi hermano Daniel, por toda su comprensión, por
todo su apoyo y esfuerzo a lo largo de mi vida personal y profesional, por darme
todo lo necesario para que cumpliera este sueño, muchos de mis logros se los debo
a ustedes, les estaré eternamente agradecida.
Gracias a todos mis familiares y amigos, que de una forma u otra me han apoyado
a lo largo de esta maravillosa travesía, ustedes también han sido parte de este logro.
10
DEDICATORIA
“A mi madre, por forjar a la persona que soy hoy, por creer en mí siempre y nunca
dudar de mi capacidad, por todo el esfuerzo que ha realizado para permitirme seguir
adelante y alcanzar este logro, por ser ella el motivo de que esté y siga aquí”.
“A mis hermanos, por apoyarme aún en los momentos más difíciles, por
demostrarme que nunca es tarde para cambiar y volver a intentarlo, por ser un
ejemplo para mí, aconsejándome y aclarándome el panorama en mis decisiones”.
AGRADECIMIENTO
A mi madre Eloina, por todo el esfuerzo que ha realizado para salir adelante a pesar
de la adversidad, por hacer el rol de padre cuando hizo falta y darme las
oportunidades que me han traído hasta aquí, por la confianza que siempre ha tenido
en mí y en mis ideales, gracias.
A mis hermanos Francisco y Eloina, quienes han sido parte importante de mi vida,
que en los momentos más difíciles fueron mi respaldo, por ser guías y consejeros
en momentos necesarios y siempre estar ahí.
A nuestra directora de tesis, la persona que nos permitió ver que cuando algo se
hace con pasión y entrega, deja de ser un simple trabajo. A la Dra. Rebeca Román
que con paciencia y dedicación nos apoyó para alcanzar esta meta, gracias por
guiarnos y demostrar que ama su trabajo y, sobre todo, por aceptar ser nuestra
directora y ser parte fundamental de este trabajo.
11
INTRODUCCIÓN
Para ello el capítulo 1 plantea el problema de la investigación, junto con los objetivos
tanto general como específicos, la justificación y delimitación de la misma.
12
Una vez obtenida toda la información de los usuarios y sus necesidades respecto al
software, se realizó el análisis de la información mediante las herramientas UML,
para posteriormente realizar el desarrollo del sistema requerido.
13
CAPÍTULO I. PROBLEMATIZACIÓN DEL OBJETO DE ESTUDIO
Sin embargo, definir la calidad del software suele ser más complicado, esto
dependerá de lo que los desarrolladores e incluso el usuario considere importante
en el resultado final y durante su proceso, lo cual lo convierte en un concepto un
tanto ambiguo que puede tener diversas definiciones.
14
cambios los obligan a entregar software antes de haber sido validado por
completo. ¿Quién tiene la razón? Ambos, y ése es el problema. (p. 339)
1.2 Objetivos
16
1.3 Justificación
17
grupo se responsabiliza de la evolución del software y permite saber qué ha hecho
cada uno de los que participan en el equipo de desarrollo.
18
completa del desempeño como desarrollador o en su caso, como equipo de
desarrollo, pero cada proyecto y cada equipo debe tomar en consideración con qué
estándar se adecúa mejor el proyecto en marcha, además del modelo de desarrollo
que se ajusta más a su personal, a su presupuesto e incluso a las peticiones del
cliente; la calidad es en mayor medida, subjetiva, pero aún en lo subjetivo existen
guías y estándares que proponen medidas, reglas y metas a cumplir.
19
CAPÍTULO 2. REFERENTE CONCEPTUAL
2.1 Desarrollo de software
20
de proceso de desarrollo entre los cuales destacan dos grupos importantes, los
modelos convencionales y los modelos ágiles.
De acuerdo con Báez (2013), Pressman (2010) y Méndez (2016), entre los
principales modelos de desarrollo convencionales se encuentran:
21
por incluir de manera rápida alguna función en el software a los usuarios y
considerarla en las entregas posteriores del desarrollo. Este modelo consta
de las etapas de comunicación, planeación, modelado, construcción y
despliegue, que en esencia equivalen a las etapas de un modelo de cascada
respectivamente, con la peculiaridad de que, cada incremento conlleva a la
repetición de cada una de estas etapas (Pressman, 2010).
● Modelo espiral: Este es un modelo que permite hacer entregas evolutivas del
software, por lo tanto, permite que este evolucione con el paso del tiempo,
es posible trabajar de manera iterativa y en la primera iteración del proyecto
entregar un prototipo del software que de manera paulatina evolucione y
cubra las necesidades del cliente para posteriormente ir actualizándose en
versiones más completas hasta conseguir el producto final. Este modelo al
igual que los anteriores está conformado por las etapas de comunicación,
planeación, modelado, construcción y despliegue, las cuales de manera
indefinida hasta cumplir con las necesidades del cliente y obtener el producto
final de software (Méndez, 2006).
Este enfoque tiene su origen en la necesidad de hacer menos complejas las etapas
de desarrollo de un proyecto de software con respecto a los modelos
convencionales, a diferencia de estos los modelos ágiles tienen como uno de sus
principios la adaptabilidad de los procesos ya que establecen pautas para que
entregar el proyecto sea más conveniente para clientes y desarrolladores, evitando
los modelos convencionales y por lo tanto generando únicamente la documentación
esencial del software. Según Maida y Paziencia (2015), “estas metodologías ponen
de relevancia que la capacidad de respuesta a un cambio es más importante que el
seguimiento estricto de un plan” (p. 18).
Del mismo modo que con los modelos convencionales, también existen diferentes
modelos ágiles entre los cuales se encuentran:
22
● Programación Extrema (XP): Este modelo ágil es uno de los más conocidos
y utilizados, se destaca por incluir una serie de buenas prácticas de desarrollo
de software que permiten el trabajo colaborativo entre desarrolladores y
cliente, mismo que se involucra de tiempo completo con el equipo de tal
manera que participe activamente durante el desarrollo del proyecto, los
escenarios en este modelo son llamados historias de usuario y se efectúan
como una serie de tareas para las cuales los desarrolladores realizan
pruebas para cada una, previas a la codificación del software. Las etapas de
este modelo son las siguientes, seleccionar las historias de usuario para la
entrega, dividir las historias en tareas, planificar la entrega, desarrollar,
integrar o probar el software, entrega y la evaluación del sistema.
Cabe destacar que este modelo ágil se enfoca en el interés en las personas,
en vez de en los procesos y permite un desarrollo sostenible que no implique
largas jornadas de trabajo (Sommerville, 2005).
● Scrum: Pressman (2010) lo describe como un método de desarrollo ágil
utilizado como guía de las tareas de desarrollo en el proceso de análisis, está
conformado por las siguientes actividades: requerimientos, análisis, diseño,
evolución y entrega. Este modelo está enfocado en los desarrollos que
generalmente implican cambios significativos de los requerimientos del
software durante su desarrollo. Una de las características importantes de
Scrum es que su forma de trabajo le permite ser altamente adaptable a las
necesidades del cliente.
23
● Kanban: Según Maida y Paziencia (2015) es un sistema de gestión del
trabajo en curso, fundamentalmente se basa en el aseguramiento de una
producción continua y sin sobrecargas de trabajo en el equipo de producción
evitando la inversión innecesaria de tiempo y esfuerzo.
Tanto para un sistema que requiere precisión extrema, como para un sistema que
está en constante evolución, existe un modelo que se adecúe a él, a pesar de que
los modelos convencionales son en ocasiones descartados por ser rigurosos y
exigentes, muchos proyectos requieren de ellos, dado que estos modelos tienen
especial atención en una documentación exhaustiva y completa no suelen ser
24
tomados en cuenta para proyectos que buscan una constante mejora o cambio,
puesto que estos proyectos, al ser tan volátiles con respecto al cambio, dejarían
obsoleta la documentación previa. También es de tomar en cuenta para la elección,
el número de desarrolladores que componen el equipo, pues hay modelos que
funcionan mejor en equipos pequeños y otros que permiten hacer uso de todo el
recurso humano en equipos numerosos de desarrollo.
25
● Asegurarse de que el modelo que se elija permita cumplir con los tiempos
establecidos, así como los costos del proyecto.
● Requerimientos funcionales: Son aquellos que nos dan una idea abstracta
de los servicios que el software debe realizar, es decir, nos indican cómo
debería responder, reaccionar o comportarse, de acuerdo con las entradas
que el usuario realice en determinadas situaciones. Sin embargo, en algunos
casos, estos requerimientos también nos permiten comprender el
comportamiento que el software no debe tener.
● Requerimientos no funcionales: Son requerimientos que no tienen relación
directa con los servicios o respuestas que entrega el sistema al usuario, es
26
decir, se suelen aplicar al sistema como un todo, y no como una característica
individual, suelen estar impuestas por los estándares e incluyen restricciones
que pueden estar relacionadas con la fiabilidad, el uso de almacenamiento y
el tiempo de respuesta del software.
27
donde los entrevistados exponen las necesidades y conflictos a los que debe dar
solución el software, es importante hacer uso de ambos tipos de preguntas ya que
estas son complementarias entre ellas y proveen de valiosa información a los
desarrolladores, lo cual les permite tener un panorama más amplio del contexto en
que se desenvolverá el sistema informático.
El análisis y el diseño en un proyecto de software son las etapas en las que los
desarrolladores analizan todas las ideas, explicaciones y necesidades recopiladas
en la etapa de definición de requerimientos se comienzan a aterrizar y a plasmar en
diversos diagramas y modelados, Sommervile (2005) explica que “La gestión
efectiva de un proyecto de software depende de planificar completamente el
progreso del proyecto” (p. 88), es decir que, es aquí donde las aptitudes de los
ingenieros de software cobra más relevancia, pues deben ser capaces de usar la
información recabada en la etapa anterior y proponer una solución que atienda
todas las necesidades de los usuarios así como, manejar y mejorar los procesos
para los que se inició este desarrollo.
28
El análisis consta de tomar la información que ya se recabó y especificar de manera
concreta y minuciosa las características operacionales del software, ya que como
Kendall y Kendall (2011) proponen, este sirve a su vez, para delimitar el alcance del
proyecto, esta es una fase bastante delicada del desarrollo, pues es bastante
proclive a una mala interpretación o propenso a generar ambigüedades que son
difíciles de analizar correctamente y, que pueden trascender como errores en las
demás etapas del proyecto.
29
difíciles de analizar correctamente y, que pueden trascender como errores en las
demás etapas del proyecto.
2.1.4 Codificación
Esta etapa tiene como fin traducir en un lenguaje comprensible para la computadora
las instrucciones del diseño desarrollado en las etapas anteriores, en ella participan
los lenguajes de programación, así como los paradigmas o modelos de desarrollo
apropiados, según Maida y Paziencia (2015), “la complejidad y la duración de esta
etapa está íntimamente relacionada al o a los lenguajes de programación utilizados,
así también como a la calidad del diseño previamente realizado” (p. 30).
2.1.5 Pruebas
Durante esta fase se realiza una última revisión de las especificaciones, diseño y
codificación para garantizar la calidad del software. Dependiendo del modelo de
desarrollo que se implemente, es como se realizarán las pruebas correspondientes
del producto, por ejemplo, existen modelos como el iterativo por mencionar alguno,
donde las pruebas se realizan en cada iteración del desarrollo, hasta la versión final
del software.
30
2.1.6 Implementación
31
investigación se encuentran la programación estructurada, procedimental y
orientada a objetos.
32
A su vez tiene una estrecha relación con la arquitectura de la computadora y pueden
ser implementados al principio, de manera muy eficiente (Ruíz, 2001).
De manera general de acuerdo con Rodríguez, Sosa y Prieto (2004), los aportes de
este paradigma se resumen en:
33
2.2.3.1.1 Java
2.2.3.1.2 Ruby
Este lenguaje reúne las características de lenguajes como Java, C, Python, entre
otros, en ello radica su popularidad. Algunas de sus características de acuerdo con
Pérez y Esquivel (2007) son las siguientes:
34
● Es poderoso: Combina la potencia de los lenguajes orientados a objetos con
los basados en scripts.
● Simple: Su sintaxis y semántica son intuitivas y muy limpias.
● Transparente: No es necesario compilar el código para cada mejora o para
adiciones de nuevos módulos.
● Posee alta disponibilidad: Se pueden generar aplicaciones y ejecutarlas sin
ningún inconveniente en sistemas como Unix, Linux, entre otros.
2.2.3.1.3 Python
Conforme a lo escrito por Marzal y Gracia (2003), Python tiene una serie de ventajas
que lo hacen muy atractivo, entre las cuales se encuentran:
35
2.2.3.1.4 C#
De acuerdo con Sánchez (2016) “C# es un lenguaje de programación que toma las
mejores características de lenguajes preexistentes como Visual Basic, Java o C++
y las combina en uno solo” (p. 1). Además, Sánchez (2016) sugiere algunas de las
características más destacables de C# son las siguientes:
36
2.2.3.2 Herramientas y entornos de desarrollo de software
Los entornos de desarrollo son herramientas usadas por los programadores con las
cuales, mediante código escrito en un lenguaje de programación, crean software.
Ciertamente se puede realizar la programación de estos sistemas mediante editores
o compiladores (incluso con depuradores), pero lo más recomendado es usar un
IDE, por sus siglas “Integrated Development Environment”, o en español “Entorno
de Desarrollo Integrado” (Moreno, 2018).
37
sin costo adicional, lo cual lo hace una de las herramientas más completas en el
mercado.
XAMPP es una distribución de Apache gratuita y que permite una fácil instalación
que engloba herramientas como MariaDB, PHP y Perl. El paquete de instalación de
XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar (Apache
Friends, s.f.). Al ser un paquete de herramientas tan completo y gratuito, es perfecto
para proyectos de desarrollo de estudiantes o de software libre. El manejador de
base de datos MariaDB funciona con las mismas instrucciones que manejadores de
base de datos como MySQL, siendo ésta la principal herramienta de interés de este
paquete de software, así mismo, su integración con el servidor local Apache, permite
alojar la base de datos en una computadora y permitir el acceso a otros equipos
conectados por red, permitiendo así que un software desarrollado con la posibilidad
de acceder a bases de datos remotas, permita trabajar desde diversas terminales
manteniendo la información centralizada y actualizada para el resto de los equipos,
permitiendo a su vez, la gestión y visualización por medio de la herramienta
phpMyAdmin, la cual necesita del lenguaje de programación PHP incluido en el
paquete de software XAMPP.
De acuerdo con Moreno, Bolaños y Navia (2010), “la calidad del software se refiere
al conjunto de atributos deseables que posee un producto software, los cuales son
medibles (cuantitativa o cualitativamente), permitiendo hacer comparaciones para
conocer si se cumple con las expectativas del cliente o no” (p. 41).
Sin embargo, definir el concepto de calidad del software resulta más complejo de lo
que parece, esto debido a que la acepción de dicho concepto depende la mayoría
de las veces de la percepción y el ángulo del que se le mire.
38
2.3.1 Conceptos de calidad
La calidad del software es una meta importante para los desarrolladores, pero
difícilmente se puede definir como un todo, Pressman (2010) lo define de manera
más general, como “proceso eficaz de software que se aplica de manera que crea
un producto útil que proporciona valor medible a quienes lo producen y a quienes lo
utilizan" (p. 340).
39
Además de las definiciones sobre el concepto de calidad del software, también
existen diferentes factores de la calidad según autores como Garvin, McCall y el
estándar ISO 9126 citados en Pressman (2010).
Por otro lado, McCall (1977) citado en Pressman (2010) propone una clasificación
útil de los factores de la calidad del software y son, corrección, confiabilidad,
eficiencia, integridad, usabilidad, facilidad de recibir mantenimiento, flexibilidad,
susceptibilidad de someterse a pruebas, portabilidad, reusabilidad e
interoperabilidad, sin embargo, cabe mencionar que es difícil realizar mediciones
directas de estos factores de la calidad.
A su vez, también existen los factores de la calidad según ISO 9126, que fue
desarrollado para identificar los atributos clave de cómputo, los 6 atributos clave son
funcionalidad, confiabilidad, usabilidad, eficiencia, facilidad de recibir mantenimiento
y portabilidad (Pressman, 2010).
40
productividad, puesto que estandarizar las entradas y salidas de los procesos
realizados por cada miembro del equipo, hace que no existan pasos intermedios
extra entre el final de un proceso y el inicio del siguiente.
41
mercado que respaldan la innovación y brindan soluciones a los desafíos
globales (ISO, 2021).
● IEEE (Institute of Electrical and Electronics Engineers): Es una organización
que promueve la innovación y excelencia tecnológica en beneficio de la
humanidad, es la sociedad técnica más grande del mundo (IEEE, 2021).
● W3C (World Wide Web Consortium): El Consorcio World Wide Web es una
comunidad mundial donde organizaciones, personal de tiempo completo y el
público trabajan en conjunto en el desarrollo de estándares web. Dirigido por
el inventor y director de la Web Tim Berners-Lee y el CEO Jeffrey Jaffe, la
misión del W3C es llevar la Web a su máximo potencial (W3C, 2021).
42
efectuar una reparación al software, según lo establecen los siguientes
subatributos: analizable, cambiable, estable, apto para someterse a pruebas.
Y el último atributo, es la portabilidad, que es la facilidad con la que el
software puede llevarse de un ambiente a otro, según lo indican los
subatributos: adaptable, instalable, conformidad y sustituible (Pressman,
2010).
43
incorporación en la industria eventualmente permitirá elevar la
capacidad de ofrecer productos y servicios de software con calidad.
44
Este proceso estadístico requiere que se realicen los siguientes pasos según lo
explica Pressman (2010):
Las etapas que Seis Sigma sugiere y que son fundamentales y algunas de ellas
adicionales de acuerdo con el tipo de proceso que se requiere mejorar son: Definir,
medir, analizar, mejorar y controlar (Pressman, 2010).
45
como la confiabilidad, usabilidad, facilidad de dar mantenimiento, funcionalidad y
portabilidad como indicadores de calidad.
46
Viendo esto desde el enfoque de la ingeniería de software Kendall y Kendall (2011)
describen los tres métodos para el aseguramiento de la calidad como “1) afianzar
un aseguramiento de calidad total al diseñar sistemas y software con una
metodología modular descendente (arriba-abajo o top-down); 2) documentar el
software con las herramientas apropiadas, y 3) probar, mantener y realizar
auditorías en el software” (p. 515), reafirmando que durante el ciclo de desarrollo,
esta idea proviene de una suposición subyacente de la gestión de calidad, la cual
dice que la calidad de un proceso de desarrollo afecta directamente a la calidad de
los productos derivados (Somerville, 2005).
47
2.3.3.1.1 Aplicación de revisión técnica informal
Estas revisiones son muy comunes en un desarrollo, pero no suelen ser muy
reconocidas durante el proceso, esto se debe a que son revisiones sin planeación
previa, no generan documentación precisa de los errores encontrados y corregidos,
pues en su mayoría se tratan de simples conversaciones entre compañeros de
trabajo, los cuales de manera casual revisan el trabajo realizado, es decir, se trata
de una reunión o charla espontánea cuyo tema central es el producto de software o
un aspecto de él, esto hace que la eficacia de este tipo de revisión no se compara
a la eficacia de una revisión formal, pues no es una revisión a profundidad, pero
permite descubrir de manera temprana errores que de otra manera, podrían
esparcirse en otras áreas del desarrollo. Este tipo de revisiones son más notorias
en la programación por pares, como en el modelo de desarrollo XP, de esta manera
las revisiones informales son constantes y se amplía el rango de detecciones de
fallos (Pressman, 2010).
Al ser revisiones de índole espontánea, Sánchez (2015) remarca que “los revisores
carecen de instrucciones escritas, los resultados de las mismas no tienen por qué
estar documentados y el objetivo principal es obtener defectos de forma barata” (p.
29), es decir, que se tratan de revisiones que no se centran en la documentación o
en la formalización de la misma, si no en los resultados y la eficiencia con respecto
al costo y tiempo que estas representan para el desarrollo.
48
2.3.3.1.2 Aplicación de revisión técnica formal
La revisión técnica formal es una actividad de control de calidad del software, esta
involucra a un grupo de personas que examinan todo o parte del proceso de
software, como explica Somerville (2005), este grupo debe tener un núcleo de tres
o cuatro personas, quienes serán los revisores principales, estos a su vez, pueden
invitar a más miembros del proyecto para colaborar en la revisión, con la meta de
tener diversos puntos de vista y ampliar la efectividad de la revisión, estos invitados
no se involucran en toda la revisión, más bien se limitan a participar en las partes
que conciernen a su trabajo. A su vez, Pressman (2010) especifica que los objetivos
de una revisión técnica formal son:
Tanto Somerville (2005), como Pressman (2010) coinciden en que la reunión debe
ser corta, con un máximo de 2 horas de duración, durante la cual, se revisan
documentos previamente seleccionados para su evaluación, esto durante la
planeación de la revisión técnica formal, estos documentos deben ser distribuidos
49
con anterioridad, pues los revisores deben leer y comprender con certeza lo que
será tratado durante la reunión, la eficacia de la revisión es dependiente de la
comprensión de los revisores sobre los documentos en cuestión, pues si los
revisores no identifican completamente la meta de la reunión, esta carece de
sentido.
Al finalizar una revisión técnica formal, el revisor que fungió como secretario ha
registrado todos los eventos destacables de la reunión y como describe Somerville
(2005), el responsable de la reunión debe firmar dicho registro, dado que en este
aparecerán todos los comentarios y decisiones tomadas. De estos registros se crea
una lista de pendientes de la revisión, a su vez, se debe producir un reporte técnico
formal de la revisión, como expone Pressman (2010), este reporte responderá a tres
preguntas, 1. ¿Qué fue lo que se revisó?, 2. ¿Quién lo revisó? y 3. ¿Cuáles fueron
los descubrimientos y las conclusiones? De manera que sea fácil conocer los
propósitos de la reunión y quede el registro de lo descubierto en la misma.
50
El resumen del reporte de la revisión debe contener solo una página, este puede
incluir anexos en caso de ser necesarios y será parte del registro del proyecto, debe
ser entregado al líder del proyecto y a otras partes interesadas.
Las pruebas de software son muy importantes dentro del tema de la calidad del
software y tienen por objetivo convencer a desarrolladores y clientes de que este es
lo suficientemente bueno para iniciar su operación, sin embargo, las pruebas no
pueden demostrar que el software está libre de defectos o que su comportamiento
será siempre el esperado, siempre hay posibilidad de que alguna prueba que haya
pasado desapercibida pueda encontrar problemas adicionales con el sistema
(Sommerville, 2005).
Mera (2016) indica que “las pruebas son necesarias porque con ellas se puede
ayudar a reducir los riesgos en las aplicaciones, y lograr de esta manera que se
identifiquen los defectos antes de que se ejecuten, con esto se previenen los fallos”
(p. 167). Al mismo tiempo sugiere que, “la implementación de un proceso de
pruebas brinda las pautas para definir objetivos, analizar y viabilizar los
requerimientos, diseñar, detallar, programar, implementar y asegurar la calidad de
un producto de desarrollo software” (p. 168).
51
a) Pruebas de unidad en el contexto orientado a objetos
Según lo indica Bradac citado en Pressman (2010) para las pruebas de integración
de los sistemas orientados a objetos, existen dos estrategias diferentes:
Según lo indican Maida y Paziencia (2015) “la prueba de validación está constituida
por una serie de pruebas diferentes cuyo propósito primordial es ejercitar
profundamente el sistema basado en computadora” (p. 31).
52
De manera general, cabe mencionar que, según Dijkstra citado en Sommerville
(2005) indica que “las pruebas sólo pueden demostrar la presencia de errores, no
su ausencia” (p. 493).
Tal como se describe en el tema anterior, Córdova (2015) indica que las pruebas de
software se orientan a la detección de errores, en donde, un buen caso de prueba
tiene una probabilidad alta de detectar defectos del software. Si las pruebas no son
efectivas, pueden ocasionar que el software defectuoso sea entregado al cliente y
esto podría ocasionar graves problemas.
El proceso de pruebas es uno de los más costosos dentro del ciclo de vida
del software, ya que deben realizarse validaciones por cada nivel de pruebas
durante la construcción de un producto, los objetivos de las pruebas en cada
nivel tienen un enfoque diferente y por tanto se aplican diferentes tipos y
técnicas de prueba. (p.31)
Las pruebas funcionales tienen como objetivo probar lo que hace el sistema
enfocándose en los requisitos funcionales y considerando el comportamiento
externo del mismo de acuerdo con las características con las que tiene que cumplir
en cuanto a su funcionamiento y se basan en los casos de uso. Al ejecutar estas
pruebas, se espera que, usando combinaciones de datos válidos, se obtenga el
resultado esperado o, en su caso, se espera que el sistema arroje alertas de error
o precaución, al usar datos inválidos.
Por otro lado, las pruebas no funcionales, se encargan de probar los atributos o el
ambiente del sistema, es decir, los requerimientos no funcionales de este. Realizar
53
estas pruebas no funcionales como lo son la usabilidad, estabilidad, escalabilidad,
eficiencia, seguridad, también permiten la evaluación y medición de la calidad del
software (Córdova, 2015).
Sommerville (2005) indica que “para validar que el sistema satisface los
requerimientos, la mejor aproximación a utilizar es la prueba basada en escenarios,
en la que se idean varios escenarios y se desarrollan casos de prueba a partir de
estos escenarios” (p. 498).
1. Elegir entradas que fuerzan a que el sistema genere todos los mensajes
de error.
5. Forzar los resultados de los cálculos para que sean demasiado grandes o
demasiado pequeños. (p.498)
54
Con base en lo anterior Pressman (2010) menciona que, las pruebas basadas en
escenario descubren los errores de interacción, no obstante, para ello los casos de
prueba deben ser más complejos y objetivos debido a que este tipo de prueba
generalmente ejercita múltiples subsistemas en una sola prueba.
Según lo explica Córdova (2015) “las actividades de prueba del software incluyen la
planificación, diseño, ejecución y reporte sobre los distintos niveles de prueba
existentes durante el proyecto” (p. 24).
55
Según lo explican Álvarez, Solé y Quintero (2013):
La estructura de un proyecto debe ser sólida para asegurar la calidad del producto
final, es importante conocer a profundidad la capacidad de tu equipo, así como el
presupuesto y otros factores que ayuden a discernir el mejor plan de acción. La
elección de un paradigma de desarrollo que se acople a las habilidades del equipo
de desarrollo es vital para optimizar el tiempo de desarrollo y mantener la eficiencia,
así mismo, el realizar las elecciones correctas y aplicar buenas prácticas durante el
proceso, hará más factible el aseguramiento de la calidad del software.
56
trabajo que aporten seguridad, estabilidad y ayuden a hacer más eficiente el
proceso de desarrollo, el conocimiento de las habilidades de un equipo ayuda a
delimitar estas opciones y a encontrar la manera óptima de trabajar, es por eso que
se deben valorar diversas posibilidades y elegir las más adecuadas para el perfil del
equipo, estas elecciones son vitales para el proceso de aseguramiento de la calidad,
pues también proporcionan métricas, estándares y parámetros con los cuales guiar
y calificar el proceso de desarrollo.
57
CAPÍTULO 3. MARCO CONTEXTUAL
Durante la época de oro del radio en México a finales de los años treinta, el gobierno
del estado de Chiapas decidido incursionar en la radio, fundando la primera
radiodifusora de estado la cual se llamó “XEXJ, La Voz de la Marimba desde
Chiapas”. Mucho tiempo después, en el año de 1973, se fundó una nueva
radiodifusora, que se estableció en el municipio de San Cristóbal de las Casas, esta
emisora llevó de nombre “XERA, Radio Comunidad Indígena” la cual cambió de
nombre tiempo después a “Radio Uno” (Martínez y Cortés, 2008). Tal como expone
Martínez y Cortés (2008), veinte años después, el gobierno del estado comenzó a
establecer más estaciones de radio en diversos municipios del estado, en
posiciones estratégicas de la geografía chiapaneca, estos estados fueron:
Palenque, Ocosingo, Tuxtla Gutiérrez, Tapachula, Tonalá, Tecpatán, Las
Margaritas, Santo Domingo y Pichucalco, hasta construir el Sistema Chiapaneco de
Radio y Televisión.
Con respecto a la televisión, durante el año 1980 y según narran Martínez y Cortés
(2008), Juan Sabines Gutiérrez, el entonces Gobernador del estado de Chiapas,
firmó un convenio en el marco de la Tercera Reunión Nacional de la República en
58
el cual el mandatario, así como algunos de sus homónimos de otros estados, se
comprometían a crear televisoras regionales.
Poco a poco la televisora se fue afianzando y creciendo, así como las diversas
estaciones de radio, según Martínez y Cortés (2008) “El viernes 9 de marzo del año
2001 apareció publicado, en el Periódico Oficial número 24, el decreto con el que
se creaba el organismo público descentralizado denominado Sistema Chiapaneco
de Radio y Televisión” (p. 85), de esta manera, el gobierno del estado intentaba
asegurar el crecimiento y la fomentación de la difusión de programas públicos de
diversa índole, desde orientación, hasta cultura y entretenimien to infantil.
Misión:
Ser un Organismo descentralizado del Gobierno del Estado, que tiene la meta de
producir, coproducir y transmitir programas informativos, culturales y educativos y
atraer empresas que realicen filmaciones audiovisuales, para la población de habla
hispana y lenguas indígenas, desarrollando contenidos que impulsen el desarrollo
humano de los Chiapanecos, a través de la Radio, Televisión y la difusión de las
59
factibles locaciones cinematográficas (Sistema Chiapaneco de Radio, Televisión y
Cinematografía, s.f.).
Visión
Dado este furor sobre las transmisiones de radio, no se tardó mucho tiempo en
fundar XEXJ, La Voz de la Marimba desde Chiapas, aunque su programación era
reducida, pues solo se transmitía una hora y sólo se podía escuchar en la capital
del estado (Martínez y Cortés, 2008). Las transmisiones de dicho programa fueron
ampliándose y fueron dedicadas a la cultura, se dedicaron transmisiones a poetas,
escritores e intelectuales chiapanecos, y los periodistas aplaudieron la propuesta,
pues permitía conocer el trabajo de chiapanecos y fomentaron el arte del estado
entre los ciudadanos.
60
Armando Arévalo fue el ganador y elegido como el locutor oficial de la XEXJ y varios
participantes del concurso, mantuvieron apariciones en los programas, como Jaime
Sabines, quien fue un declamador habitual en los mismos.
En 1990, Víctor Cancino Villar director de Radio de Gobierno del Estado fundó Red
Radio Chiapas S.A. de C.V., una entidad autónoma encargada de la gestión de
concesiones radiofónicas, esto permitió un mejor manejo de las radiodifusoras del
estado y en 1991 se inauguró la primera estación de radio bajo este modelo
autónomo, esta radiodifusora fue el XEPL, Radio Palenque (Martínez y Cortés,
2008).
Con la llegada del canal televisivo en el año 1980, amplió el abanico de medios de
comunicación en el estado y en 2001 se materializó la creación del Sistema
Chiapaneco de radio y televisión¸ quien de manera autónoma y descentralizada se
encargaría de las estaciones de radio y televisión del estado, tiempo después y
como narran Martínez y Cortés (2008):
61
Televisión y Cinematografía es la promoción de los paisajes del estado para la
grabación de producciones nacionales e internacionales, buscando de esta manera
aumentar la difusión de los paisajes del estado para atraer turismo y ganar
notoriedad como un destino fascinante, así como obtener ingresos por el derecho
de realizar filmaciones en el territorio estatal.
Parte de las funciones que realiza el área es mantener contacto con otras
productoras y televisoras nacionales e internacionales para conseguir nuevo
62
material para transmitir, tales como series de televisión, programas infantiles,
derechos de transmisión de eventos en vivo, documentales, películas y todo lo que
pueda ser de interés para el público chiapaneco.
● El título.
● La fecha en la que se llevó a cabo la producción.
● La sinopsis o resumen.
● El formato en el que será almacenado, ya sea digitalmente o físicamente en
un DVD o Blu-ray.
● La clasificación otorgada por la Secretaría de Gobernación a través de la
Dirección de Radio, Televisión y Cinematografía (RTC), es decir, el público
al que va dirigido el programa.
● El tipo de programa, ya sea un spot, un documental, una serie o cualquier
otra categoría.
● El nombre productora creadora o poseedora de los derechos del material.
63
Radio, Televisión y Cinematografía para la obtención de nuevo material para el
canal. De estos convenios se registran tanto los datos de la organización, como lo
son el nombre, el puesto y número telefónico del contacto responsable, como de la
vigencia de los convenios, pues esta marca la fecha límite del permiso que tiene el
canal para la transmisión de los programas, estos datos son utilizados para la
posible renovación de dichos convenios y prevenir la transmisión de programas
cuyo permiso ha expirado.
Dado que los procesos están ligados entre sí, el área necesita mantener en orden
la información, que esta sea accesible en todo momento y así conseguir eficiencia
al momento de crear las pautas programáticas del día, centralizar la información de
los diversos procesos en un mismo sistema y acceder a una herramienta que
permita realizar cada de ellos se convirtió en una necesidad, dado que, con el paso
del tiempo, el canal ha ido en crecimiento y el volumen de información es claramente
mayor.
64
Kendall (2011), “al tomar una perspectiva de sistemas, los analistas pueden
empezar a descifrar y comprender en términos generales las diversas empresas
con las que entrarán en contacto” (p. 27).
Los procesos en general, suelen estar interrelacionados entre sí, la salida de uno
es parte de la entrada de otro, tal como los conceptos que Kendall y Kendall (2011)
aplican a los subsistemas que componen a una organización y por tanto a un
sistema más grande, este hecho tiene grandes implicaciones que los analistas de
sistemas que buscan mejorar el cumplimiento de objetivos deben tener presentes y
siempre en consideración.
65
CAPÍTULO 4. DISEÑO METODOLÓGICO
66
4.2 Método de investigación
4.3.1 Observación
67
del problema a investigar y es de gran utilidad en el diseño de la investigación, así
mismo, al finalizar la investigación, la observación puede llegar a predecir
tendencias y desarrollo de los fenómenos.
La observación según Ramos (2016), también puede usarse con otras técnicas,
como lo es la entrevista, esto hace posible la comparación de resultados, los cuales,
al ser obtenidos por diferentes medios, se complementan y permiten tener una
mayor precisión en la información recabada.
4.3.2 Entrevista
68
para esclarecer la tarea de investigación, además de las preguntas de apoyo que
sirven para desarrollar la entrevista.
En este caso, una técnica adecuada para entender de mejor manera los procesos
realizados en el área de programación televisiva y comprendiendo a profundidad las
necesidades de las personas que realizan dichos procesos, siempre y cuando como
entrevistadores se tenga una alta capacidad de comunicación, pues como explica
Ramos (2016), la preparación del entrevistador con respecto a la estructuración de
preguntas, sus condiciones psicológicas, la fidelidad a la hora de transcribir
respuestas y la influencia que éste tenga sobre el entrevistado, son factores que
determinan la efectividad y veracidad de la entrevista realizada, así como de la
información obtenida.
69
que están registrados en el área, toma las decisiones de las pautas
programáticas del día, maneja, firma y promueve los convenios realizados
con las productoras y televisoras externas.
b) Personal del área de programación televisiva: Realiza las actividades básicas
del área, es quien realiza los registros de los programas televisivos, realiza
propuestas de pautas programáticas para que el jefe de área realice la
autorización, mantiene organizada la información nueva y da de baja
información obsoleta.
70
4.5 Instrumentos de investigación
Para aplicar las técnicas explicadas previamente, se diseñaron los instrumentos que
se presentan en la figura 4.1.
71
4.5.2 Guía de entrevista
Nombre:
Compañía/Organización:
Puesto:
Del Usuario
● ¿Quién es el cliente?
● ¿Quién es el usuario?
● ¿Son sus necesidades diferentes?
● ¿Cuáles son sus habilidades, capacidades, ambiente?
Del Proceso
● ¿Cuál es el problema que se ha identificado?
● ¿Cuál es la razón por la que se quiere resolver este problema?
● ¿Cuál es el valor de una solución exitosa?
● ¿Cómo usted resuelve el problema actualmente?
● ¿Cómo le gustaría que se resolviera?
● ¿Qué retrasos ocurren o pueden ocurrir si no se resuelve el problema?
Del Producto
● ¿Qué problemas podría causar este sistema en la organización?
● ¿En qué ambiente se usará el sistema?
● ¿Cuáles son sus expectativas para los conceptos fácil de usar, confiable y
rendimiento?
● ¿Qué obstáculos afectan la eficiencia del sistema?
● ¿Cuál es la perspectiva que se tiene del sistema?
● ¿Qué tipos de documentación impresa y en línea necesita?
72
4.6 Análisis de datos
El análisis de los datos es la etapa que se realiza una vez que se ha obtenido la
información requerida durante todo el proceso de recopilación de datos. Es parte
fundamental del proceso ya que implica trabajar con los datos, ordenarlos,
sintetizarlos, homogeneizarlos de manera que puedan manejarse de una mejor
forma y descubrir qué aportan para la investigación (Guerrero, 2016).
Podríamos definir el análisis como el proceso a través del cual vamos más
allá de los datos para acceder a la esencia del fenómeno de estudio, es decir,
a su entendimiento y comprensión; el proceso por medio del cual el
investigador expande los datos más allá de la n arración descriptiva. (p. 1)
73
El modelo de base de datos relacional muestra los datos en forma de tablas
y relaciones y es uno de los modelos más populares (Sánchez, 2004). De
acuerdo con Suárez (2008) algunas características del modelo relacional
son:
74
CAPÍTULO 5. PROCESO DE ASEGURAMIENTO DE LA CALIDAD EN EL
DESARROLLO DEL SISTEMA DE ADMINISTRACIÓN DE
RECURSOS AUDIOVISUALES
Se requirió que el equipo del área en el que se administra el sistema, contara con
el paquete de software libre “Xampp”, que cuenta principalmente con el sistema de
gestión de bases de datos MariaDB, el servidor web Apache y los intérpretes para
lenguajes de script PHP y Perl. El sistema de información funciona de forma
autónoma, sin que haya necesidad de comunicación con sistemas externos a la
institución, por lo que no existen dependencias con respecto a otros recursos. Los
equipos adicionales que hagan uso del sistema, no requieren software extra,
únicamente el sistema de administración instalado.
75
5.2 Definición de requerimientos
Método Descripción
Nombre Descripción
Registro de productora Consiste en registrar las productoras con las que el área de
producción tiene convenio.
Registro de contacto Consiste en registrar a los contactos de las productoras con las
que se tiene convenio.
76
Registro de capítulos Consiste en registrar los capítulos de los programas registrados
previo convenio con las productoras, asignándoles los atributos
como, nombre, duración, entre otros.
Crear pauta programática Consiste en crear la pauta programática del día, de acuerdo con
los programas y capítulos de las productoras previamente
registradas. Utilizando campos de atributos como f echa, tipo de
programa, tipo de transmisión, programas, horarios, capítulos y
bloques.
77
Tabla La tabla programación tiene los siguientes atributos, id de
5
programación programación, f echa y horario.
REQUERIMIENTO DESCRIPCIÓN
78
5.2.2 Especificación de casos de usos
79
5.2.4 Modelo de la base de datos
80
5.3 Proceso de desarrollo del software
1. Inicio
2. Elaboración
3. Construcción
4. Transición
Cabe mencionar que cada etapa de este modelo está constituida por varias
actividades que permiten realizar un correcto análisis y diseño del software tomando
en cuenta las funcionalidades que éste debe cumplir y, de esta forma garantizar en
la última etapa que el software esté listo para su entrega.
Las herramientas utilizadas para este desarrollo fueron el IDE Visual Studio 2013 y
el paquete de software libre XAMPP que cuenta con el sistema de gestión de base
de datos María DB.
81
5.4.1 Revisión informal
82
b) Cronograma para atender la revisión informal
83
5.4.2 Revisión Técnica Formal
Nivel de
importancia
¿El modelado de
El levantamiento de requerimientos del
levantamiento de
usuario se realizó a través de entrevista y
requisitos es claro y
análisis de documentación, por lo cual
representa de f orma 3 90% quedó muy clara la necesidad del usuario,
adecuada los
sin embargo, se pudo considerar otro
requerimientos del
método como el de historias de usuario.
usuario?
En caso de existir,
¿Se tomaron en Se consideraron por completo los
cuenta, los requerimientos especiales, considerando
requerimientos 1 100% que f ueron pocos y sencillos, por eso su
especiales de los nivel de importancia f ue bajo.
usuarios?
En caso de existir,
¿Se cumple con los
requerimientos
sobre estándares No hubo aspectos ambientales o legales a
2 100%
ambientales o considerar en el desarrollo del sistema.
regulaciones legales
que se deben
obedecer?
84
¿Cada
requerimiento es Todos los requerimientos del sistema,
consistente con el 2 100% f ueron considerados de acuerdo a los
objetivo general del objetivos planteados.
sof tware?
Nivel de
importancia
Cumplimiento
Evaluación de la interfaz (1) Poca Observaciones
(0 – 100%)
(2) Moderada
(3) Alta
85
localizar rápido los
controles.
La mayoría de los
controles están colocados
de manera que siguiendo
la secuencia de llenado de
f ormularios sea sencillo
¿La estética ayuda a la encontrar los botones,
3 80%
comprensión y uso? aunque en situaciones
como las opciones de
búsqueda de programas,
los botones se pueden
perder un poco a la vista
del usuario.
86
más habitual (no
necesariamente experto)
pueden memorizar pronto
la ubicación de los datos y
leer con f acilidad la interf az
y las salidas presentadas.
La mayoría de ingresos de
datos y f unciones
primarias son accesibles
desde el menú lateral de
¿Las operaciones jerárquicas manera simple, solo en
están organizadas de manera que caso de ingresos
minimizan la prof undidad con la 2 90% secundarios de datos, o
que debe navegar el usuario para datos complementarios
hacer que alguna se ejecute? que no se tenían en el
ingreso original, es
necesario acceder a una
página que requiere un
botón extra.
87
movimientos rápidos entre
ellos.
Nivel de
importancia
Evaluación de Cumplimiento
(1) Poca Observaciones
código. (0 – 100%)
(2) Moderada
(3) Alta
88
operación no contemplada podría
inclusive dejar colgado al sof tware, ya
que éste no tendría f orma de
responder.
a) Requerimientos
89
constituido bien en el desarrollo del software, esto considerando que se han
tomado en cuenta todos y cada uno de los requerimientos especificados por
el usuario y, que además, se realizaron correctamente los procedimientos de
levantamiento de requerimientos los cuales se identifican con claridad y se
puede distinguir en qué parte del software están constituidos; también se
hicieron las consideraciones legales que pudiesen afectar en algún momento
dado, el funcionamiento del mismo, o bien, al usuario final. Cabe destacar
también que los requerimientos fueron lo más específicos posibles, esto con
la finalidad de cumplir con el objetivo principal del desarrollo del software, es
decir, se han constituido de manera que todos cumplan con el funcionamiento
general que debe cumplir el software, además se establecieron de manera
clara, concisa y bien identificados los requisitos funcionales y no funcionales
del software para de esta forma garantizar su correcto funcionamiento.
b) Interfaz
90
a lo requerido por el usuario, haciendo uso de los recursos con los que esta
cuenta y de manera práctica, cumpliendo así, los objetivos correspondientes.
c) Código
Es muy importante optimizar el código para que éste sea más eficaz, es por
ello que esto lo hace más legible, ya que un código mal estructurado es
menos probable que sea comprendido, además de ser menos eficiente.
Estos fueron los resultados obtenidos después de realizar la primera evaluación del
software en el tema de las revisiones técnicas; sin embargo, hasta ese momento
aún era posible que durante el proceso de pruebas software, surgieran nuevas
posibilidades de mejora, y nuevas modificaciones que realizar, puesto que todavía
había algunos aspectos que podían ser mejor detallados, para cumplir con las
métricas del software y finalmente, lograr la calidad del mismo.
91
5.4.3 Guía y aplicación de pruebas
Número de caso
1
de prueba
Nivel de
importancia
(1) Poca
3
(2) Moderada
(3) Alta
92
Cumplimiento
100%
(0-100 %)
Caso de
Eliminar productoras
prueba
Número de
2
caso de prueba
Eliminar una productora de la base de datos cuyo convenio haya expirado o por
Propósito
petición de la misma.
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
93
5.- El sistema termina el proceso.
Cumplimiento
100%
(0-100 %)
Caso de
Modif icar productoras
prueba
Número de
3
caso de prueba
Nivel de
importancia
(1) Poca
3
(2) Moderada
(3) Alta
94
1.- El encargado del área de 2.- El sistema devuelve la lista de
programación televisiva realiza una productoras según las especif icaciones
búsqueda de productoras. del encargado del área de programación
Curso (Flujo) televisiva.
típico de 3.- El encargado del área de
eventos programación televisiva modif ica la 4.- El sistema actualiza la inf ormación en
inf ormación necesaria en la tabla de la base de datos que ha sido modificada.
resultados.
5.- El sistema termina el proceso.
Cumplimiento
100%
(0-100 %)
Número de caso
4
de prueba
95
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
1.- El encargado del área de programación 4.- El sistema registra la inf ormación
televisiva recibe la inf ormación de un del programa en la base de datos.
nuevo programa.
6.- El sistema guarda y vincula los
2.- El encargado del área de programación capítulos.
Curso (Flujo) televisiva comienza el registro de un nuevo
típico de programa 7.- El sistema termina el proceso.
eventos
3.- El encargado del área de programación
televisiva ingresa los datos requeridos por
el sistema.
Cumplimiento
100%
(0-100 %)
96
5.4.3.1.5 Caso de prueba “eliminar programa”
Número de caso
5
de prueba
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
Curso (Flujo) 1.- El encargado del área de 2.- El sistema devuelve la lista de
típico de programación televisiva realiza una programas según las especif icaciones
eventos búsqueda del programa que desea dadas por el encargado del área de
eliminar. programación televisiva.
3.- El encargado del área de 4.- El sistema elimina los datos del
programación televisiva selecciona el programa y toda la inf ormación
programa que desea eliminar. relacionada con el mismo, por ejemplo,
los capítulos.
Cumplimiento
95%
(0-100 %)
97
La respuesta del sistema a la acción de eliminar un programa es correcta y se
logra de manera satisf actoria. Sin embargo, podría implementarse una medida
para no eliminar completamente los programas, es decir, mantener su
Observaciones inf ormación en otra parte de la base de datos del sistema. Aunque cabe
mencionar que, por cuestiones legales de la dependencia, no se puede realizar
esta acción, en el sistema podría ser una buena implementación.
Número de caso de
6
prueba
Nivel de importancia
(1) Poca
3
(2) Moderada
(3) Alta
98
a.- Ocurre un error de conexión a la base 1.- El sistema muestra un
de datos. mensaje de error por la
conexión a la base de datos.
Extensiones (flujo
alternativo)
2.- El encargado del área de
programación televisiva revisa la
conexión y vuelve a intentar el proceso.
Cumplimiento
100%
(0-100 %)
Caso de
Catálogo de programas
prueba
Número de
caso de 7
prueba
Exportar en f ormato PDF una lista de programas que será presentada como
Propósito
propuesta para la programación televisiva del día.
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
99
1.- El encargado del área de 2.- El sistema devuelve una lista con los
programación televisiva realiza una programas que compartan la
búsqueda de programas que comparten característica deseada.
Curso (Flujo) una característica.
típico de 4.- El sistema crea y exporta un archivo
eventos 3.- El encargado del área de en f ormato PDF con la tabla de
programación televisiva revisa la lista y resultados.
si es la deseada la exporta.
5.- El sistema termina el proceso.
Cumplimiento
100%
(0-100 %)
Este escenario del sistema simplemente consiste en realizar consultas del usuario,
donde este realiza una búsqueda de algún programa determinado y el sistema a su
Observaciones vez, le muestra los resultados de la inf ormación dada por el usuario, estas consultas
se realizan de manera satisf actoria, es decir, el sistema cumple con esta f unción.
Número de
8
caso de prueba
Nivel de
importancia 3
(1) Poca
100
(2) Moderada
(3) Alta
Cumplimiento
100%
(0-100 %)
Este escenario es uno de los más importantes del sistema, por lo que ha sido
f undamental que la respuesta del sistema a la acción del usuario, se resuelva de
Observaciones
manera satisf actoria, dando como resultado que, la f unción esté bien
implementada.
101
5.4.3.1.9 Caso de prueba “añadir contacto”
Número de
9
caso de prueba
Agregar contactos nuevos a las productoras con las que se tenía previo convenio
Propósito
y estaban guardadas en la base de datos.
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
1.- El encargado del área de programación 2.- El sistema devuelve una tabla
televisiva realiza una búsqueda de la con los resultados de la búsqueda.
productora a la que se le añadirá el contacto.
4.- El sistema despliega una
Curso (Flujo) 3.- El encargado del área de programación ventana con el f ormulario
típico de televisiva selecciona la productora y presiona necesario para ingresar el nuevo
eventos el botón de agregar contacto. contacto.
102
Cumplimiento
100%
(0-100 %)
Número de
10
caso de prueba
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
Curso (Flujo) 1.- El encargado del área de programación 2.- El sistema muestra una tabla
típico de televisiva realiza una búsqueda de la con los resultados de la búsqueda.
eventos productora de la cual eliminará el contacto.
4.- El sistema muestra una tabla
3.- El encargado del área de programación con los contactos de la productora
televisiva selecciona la productora de la cual seleccionada.
eliminará el contacto.
103
5.- El encargado del área de programación 6.- El sistema desvincula al
televisiva selecciona al contacto que desea contacto de la productora y lo
eliminar y pulsa el botón para borrarlo. elimina de la base de datos.
Cumplimiento
100%
(0-100 %)
Número de
11
caso de prueba
Nivel de
importancia
3
(1) Poca
(2) Moderada
104
(3) Alta
Cumplimiento
100%
(0-100 %)
El sistema cumple con esta especif icación de manera correcta, siendo esta una
f unción que complementa a la de agregar programa, por lo que ha sido
Observaciones
imprescindible para que ambas f uncionen en conjunto, en las pruebas de unidad
del sistema.
Caso de
Modif icar capítulo.
prueba
Número de
12
caso de prueba
El encargado del área de programación televisiva debe realizar una búsqueda del
Descripción capítulo que será modif icado, una vez realizada la búsqueda se visualizará una
breve tabla con los datos del capítulo, el usuario modif ica los datos que requiera y luego
presiona el botón actualizar, esto modif icará los datos en la base de datos.
105
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
Cumplimiento
100%
(0-100 %)
Este escenario modif ica correctamente la inf ormación de los capítulos de algún
programa determinado directamente a la base de datos, ya sea que se desee
Observaciones actualizar la inf ormación de los mismos. Cumple correctamente con la solicitud del
usuario.
106
5.4.3.1.13 Caso de prueba “eliminar capítulo”
Número de
13
caso de prueba
Propósito Eliminar capítulos cuya vigencia haya expirado o por petición de la productora.
El encargado del área de programación televisiva debe realizar una búsqueda del
Descripción capítulo que será eliminado, luego seleccionará de la tabla de resultados el capítulo
breve a eliminar, al presionar el botón borrar, el capítulo será eliminado de la base de
datos.
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
Curso (Flujo)
típico de
eventos 3.- El encargado del área de programación 4.- El sistema muestra los
televisiva selecciona el programa al que capítulos del programa
desea eliminar capítulos. seleccionado.
107
Cumplimiento
100%
(0-100 %)
Número de
14
caso de prueba
Nivel de
importancia
(1) Poca 3
(2) Moderada
(3) Alta
Curso (Flujo) 1.-El encargado del área de programación 2.-El sistema muestra la pauta
típico de televisiva selecciona la f echa en la cual se programática de esa f echa.
eventos realizará la modif icación.
4.-El sistema modif ica la base de
3.-El encargado del área de programación datos con los nuevos datos que
televisiva elimina y agrega los datos que sean ingresó el encargado del área de
necesarios, programación televisiva.
108
5.-El sistema termina el proceso.
Cumplimiento
100%
(0-100 %)
Número de caso de
15
prueba
Propósito Permitir al usuario una f ácil comprensión y manejo del sof tware.
La interf az permite al usuario hacer uso del sistema de una f orma ef iciente y
que permita la f ácil comprensión del mismo. Además, permite un mejor
Descripción breve manejo de manera que el usuario lleve a cabo los procesos de manera más
sencilla.
Nivel de importancia
(1) Poca
(2) Moderada 3
(3) Alta
Aspectos a
Cumplimiento Observaciones
considerar.
109
(0-100 %)
¿Todas las
Las f unciones principales son reconocibles a simple vista,
operaciones son
100% y se pueden iniciar al momento, se encuentran centradas y
f áciles de localizar e
eso permite localizar rápido los controles.
iniciar?
¿La distribución y
La interf az permite que el usuario haga uso del
estilo de la interf az
autocompletado de datos en caso de que estos ya existan,
permite que un
lo cual hace que las operaciones se puedan realizar con
usuario introduzca con 99% mayor ef iciencia. También muestra aviso de datos f altantes
ef iciencia las
lo cual permite al usuario notar con f acilidad si hubo algún
operaciones y la
error al introducir la inf ormación.
inf ormación?
¿Los datos de salida o Para los usuarios con previo conocimiento del sistema, es
el contenido están muy sencillo identif icar la inf ormación que requieran al
presentados de modo 98% momento de consultarla, sin embargo, para usuarios
que se entienden de nuevos puede llevar más tiempo interpretar la inf ormación
inmediato? representada.
¿Las operaciones
jerárquicas están
La mayoría de ingresos de datos y f unciones primarias son
organizadas de
accesibles desde el menú lateral de manera simple, solo
manera que minimizan
en caso de ingresos secundarios de datos, o datos
la prof undidad con la 100% complementarios que no se tenían en el ingreso original, es
que debe navegar el
necesario acceder a una página que requiere un botón
usuario para hacer
que alguna se extra.
ejecute?
¿El sof tware El sof tware reconoce datos mal ingresados, ya sea que
reconocerá el error si tengan una longitud dif erente a la que es necesaria para el
entran datos en el campo, ciertos datos que no sean válidos, así como, datos
límite de lo permitido o 100%
corruptos en los datos de programación, permitiendo
más allá y, lo que es eliminarlos en caso de f allos, lo cual permite mantener los
más importante, datos lo más limpios posible.
continuará operando
110
sin f allar ni
degradarse?
¿La interf az da un
diagnóstico y guía
útiles cuando se El sistema tiene mensajes de advertencia en acciones
descubre una clave que permite evitar errores de pulsación, muestra
condición de error 100% errores de conexión y muchas veces permite continuar con
(asociada con la el trabajo e intentar nuevamente.
f uncionalidad del
sof tware)?
111
Finalmente, se muestra una fila donde se debe indicar el porcentaje en el que se
cumple satisfactoriamente cada escenario y las observaciones correspondientes.
Para los resultados de las pruebas de software que se aplicaron con base en la guía
de pruebas realizada previamente, debe tomarse en cuenta que se han realizado
por los mismos desarrolladores, lo cual da apertura a que pruebas de externos
puedan arrojar algunas otras observaciones y mejoras que se puedan realizar al
software. Las observaciones obtenidas en estas pruebas permiten que aún se
pueda seguir trabajando en la mejora del proyecto hasta hacerlo trascender en un
producto de total calidad.
112
5.4.4 Aseguramiento de la calidad
Finalmente, cabe mencionar que todo lo aplicado en esta etapa del proyecto ha
permitido identificar los posibles errores que pueden representar pérdidas y
problemas más complejos durante el desarrollo del software y durante su uso, y ha
sido de suma importancia conocer en qué consiste todo el proceso y todo lo que
conlleva para tenerlo presente en cualquier tipo de desarrollo que se realice,
además, también permite conocer el enfoque que debe seguirse de acuerdo al
proyecto que se esté realizando, de esta manera se obtendrá como resultado un
software que satisfaga las necesidades de sus usuarios finales y que al mismo
tiempo, sea un software de calidad.
113
5.4.5 Producto final
Figura 5.4 Pantalla de inicio
114
Figura 5.5 Pestaña “Programación”, interfaz “crear pauta programática”
115
Figura 5.7 Pestaña “Programas”, interfaz “agregar capítulos”
116
Figura 5.9 Pestaña “Programas”, interfaz “búsqueda de programas con vista de
capítulos y bloques”
117
Figura 5.11 Pestaña “Productoras”, interfaz de “búsqueda de productoras”
118
CONCLUSIONES
119
REFERENCIAS
Pérez, H., & Esquivel, J. A. (2007). Ruby: Lenguaje de programación para sistemas
distribuidos. Aguascalientes: Instituto tecnológico de Aguascalientes.
Ferré, X., & Sánchez, M. I. (2011). Desarrollo orientado a objetos con UML. Madrid:
Universidad politécnica de Madrid.
García, T. & Rubí, S. (2018). UML, introducción al UML, modelando con UML,
utilidad del UML, conceptos de USE CASE, objetos, clases y atributos,
operaciones, aplicaciones. Lima: Universidad nacional de educación Enrique
Guzmán y Valle.
120
Guillen, D. F. (2007). Ruby Fácil. Bogotá: Universidad de los Andes.
Institute of Electrical and Electronics Engineers. (s.f.). IEEE Web Site. Obtenido de
History of IEEE: https://www.ieee.org/about/ieee-history.html
121
Pressman, R. S. (2010). Ingeniería del software un enfoque práctico. Ciudad de
México: Mc Graw Hill.
Solé, S., Venegas, M., Quintero, J. & Alvares, J. (2013). Aseguramiento de calidad
en el desarrollo de software libre. Mérida: Fundación CEDINTEL.
The World Wide Web Consortium. (s.f.). W3C Web Site. Obtenido de About W3C:
https://www.w3.org/Consortium/
122