miércoles, 3 de junio de 2015

Programa con Base de Datos

¡PROCESO DE MEJORA!
o  Analizar el funcionamiento de cada línea de código, así será más fácil comprenderlo e implementarlo.
o  Nombrar a las variables dependiendo de su funcionamiento, así no me confundo y las mando llamar cada que sean necesarias en el proceso.
o  Clasificar los archivos del código, por html’s, jsp’s, javascript’s, etc para tener una mejor organización.
o  En el ComboBox de la edad, metí todas las edades en un arreglo, esto me permitió optimizar un poco el código.
o  Lo hice de una manera rápida y sin interrupciones para evitar errores de sintaxis y lógica.

Formulario...! 
Altas...! 
Consultas...! 
Base de Datos...! 

Registro...! 
 Mensaje de Confirmación...! 
Consultar Informacion...! 


Ver información...! 

Existe en la base...! 





Velocidad



jueves, 28 de mayo de 2015

PROGRAMA EN JAVA.

Usuario
- nombre: String
- aPaterno: String
-aMaterno: String
+ setNombre (id1String): void
+ getNombre (): String
+ setApaterno (id2String): void
+ getApaterno (): String
+ setAmaterno (id3String): void
+ getAmaterno (): String
+imprimeUsuario (): void



sábado, 25 de abril de 2015

Cuadro Sinóptico Etapas de la Calidad, Modelos de Calidad y Proceso de Mejora Continua


Modelos de Calidad
Los modelos de calidad son referencias que las organizaciones utilizan para mejorar su gestión. Los modelos, a diferencia de las normas, no contienen requisitos que deben cumplir los sistemas de gestión de la calidad sino directrices para la mejora. 

CMMI
El CMMI es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software.

Niveles CMMI
Los niveles CMMI son 5:
Inicial o Nivel 1 CMMI. Este es el nivel en donde están todas las empresas que no tienen procesos. Los presupuestos se disparan, no es posible entregar el proyecto en fechas, los empleados si tienen que quedar durante noches y fines de semana para terminar un proyecto. No hay control sobre el estado del proyecto, el desarrollo del proyecto es completamente opaco, no se sabe que pasara con él.
Nivel 2 CMMI. Quiere decir que el éxito de los resultados obtenidos se puede repetir. La principal diferencia entre este nivel y el anterior es que el proyecto es gestionado y controlado durante el desarrollo del mismo. El desarrollo no es opaco y se puede saber el estado del proyecto en todo momento.
Los procesos que hay que implantar para alcanzar este nivel son:
§  Gestión de requisitos
§  Planificación de proyectos
§  Seguimiento y control de proyectos
§  Gestión de proveedores
§  Aseguramiento de la calidad
§  Gestión de la configuración
Nivel 3 CMMI. Alcanzar este nivel significa que la forma de desarrollar proyectos (gestión e ingeniería) está definida, por definida quiere decir que está establecida, documentada y que existen métricas (obtención de datos objetivos) para la consecución de objetivos concretos.
Los procesos que hay que implantar para alcanzar este nivel son:
§  Desarrollo de requisitos
§  Solución Técnica
§  Integración del producto
§  Verificación
§  Validación
§  Desarrollo y mejora de los procesos de la organización
§  Definición de los procesos de la organización
§  Planificación de la formación
§  Gestión de riesgos
§  Análisis y resolución de toma de decisiones
La mayoría de las empresas que llegan al nivel 3 paran aquí, ya que es un nivel que proporciona muchos beneficios y no ven la necesidad de ir más allá porque tienen cubiertas la mayoría de sus necesidades.
Nivel 4 CMMI. Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la organización. Se usan métricas para gestionar la organización.
Los procesos que hay que implantar para alcanzar este nivel son:
§  Gestión cuantitativa de proyectos
§  Mejora de los procesos de la organización
Nivel 5 CMMI. Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades. Mejoras incrementales e innovadoras de los procesos que mediante métricas son identificadas, evaluadas y puestas en práctica.
Los procesos que hay que implantar para alcanzar este nivel son:
§  Innovación organizacional
§  Análisis y resolución de las causas
Normalmente las empresas que intentan alcanzar los niveles 4 y 5 lo realizan simultáneamente ya que están muy relacionados.
La implantación de un modelo de estas características es un proceso largo y costoso que puede costar varios años de esfuerzo. Aun así el beneficio obtenido para la empresa es mucho mayor que lo invertido.
¿Qué es PSP y TSP?
PSP (Personal Software Process)
El PSP® es un marco de trabajo de procesos para guiar a los desarrolladores en:
§  Definir sus propios procesos
§  Planear y dar seguimiento a su propio trabajo
§  Administrar la calidad de sus propios productos de trabajo
El PSP® es un proceso personal que al estar basado en los principios de mejora,  ayuda a la gente a establecer sus metas personales, identificar qué métodos utilizarán, medir sus trabajo y analizar los resultados, para ajustar los métodos que utilizan para cumplir sus metas.
En conclusión, el PSP® es un proceso definido para ayudar a realizar mejor el trabajo, cuyo objetivo es obtener y reportar datos precisos y completos del trabajo que se realiza a nivel individual, con el fin de mejorar el proceso individual, afectando de esta manera al desempeño de todo el equipo.
TSP (Team Software Process)
Es un modelo de referencia de ingeniería de software que provee un énfasis en los procesos, los productos y el trabajo en equipo. El TSP® toma de base los principios de PSP para realizar los procesos y principios de ingeniería de software en un ambiente de trabajo en equipo.
El TSP® enfatiza el trabajo en equipo porque:
§  Los equipos no se forman mágicamente,
§  Los pasos para formar un equipo no son obvios,
§  Se deben entender las fortalezas/debilidades de cada miembro del equipo y cómo estas soportan el desempeño del mismo.
Los equipos no son un accidente, se requiere una estrategia definida para trabajar juntos de manera coordinada, establecer responsabilidades y dar seguimiento al avance. Esto se logra teniendo metas comunes, acordando planes de acción y con un liderazgo apropiado.
El Team Software Process no es una capacitación, usa los principios de PSP® para poner en práctica lo aprendido en el mismo y ayudar a formar y poner en marcha equipos de alto desempeño para producir productos de clase mundial, de manera cíclica, es decir al término de cada ciclo, el equipo debe entregar una versión del producto que pueda ser probada (que sea un subconjunto del producto final), de tal manera que los productos de los ciclos combinados generan el producto final. Cada miembro del equipo, en un desarrollo TSP® planea sus actividades, da seguimiento a su trabajo y reporta su avance, controla sus propios procesos,  se involucra en la planeación y decisiones de todo el equipo y tiene roles y responsabilidades explícitas.
EL MODELO DEMING PRIZE
Definición del modelo
El modelo Deming Prize ha estado presente en Japón desde 1951 y se creó con el objeto de convertirse en una herramienta para la mejora de las empresas de ese país.
El premio que promulga se entrega a las empresas que se destacan sobresalientemente por la dirección y control de Calidad, y además por promover la Gestión de la Calidad en aquellas empresas que ven en este modelo una oportunidad de excelencia.
EL MODELO IBEROAMERICANO DE EXCELENCIA EN LA GESTIÓN.
El Modelo Iberoamericano de Excelencia en la Gestión fue implantado por FUNDIBEQ (Fundación Iberoamericana para la Gestión de la Calidad) en 1999. Ese mismo año se publican las bases del Premio Iberoamericano de Excelencia en la Gestión. FUNDIBQ es una organización supranacional apoyada y constituida por algunas empresas, sin ánimo de lucro, que está promoviendo y desarrollando la gestión global de la calidad en el ámbito iberoamericano.
EL MODELO MALCOLM BALDRIGE
Definición del modelo
El presente modelo sirve como base para desarrollar autoevaluaciones de las organizaciones y así entregar información del estado de estas. Además ayuda a mejorar las prácticas de gestión, ayuda a la comunicación y sirve como herramienta de trabajo para la planificación y entrega finalmente oportunidades de aprendizaje.
Este modelo ayuda a las organizaciones a utilizar un enfoque global e integrado para la gestión de estas, entregando mayor valor a los clientes y grupos de interés; mejorando así la eficacia y capacidades de toda la organización.
EL MODELO DE EXCELENCIA DE LA EUROPEAN FOUNDATION FOR QUALITY MANAGEMENT.

Definición del modelo
El presente modelo fue creado por la Europeran Foundation for Quality Management en el año 1990 y el premio se comenzó a entregar anualmente  a las empresas reconocidas por la excelencia a partir del año 1992.
El modelo partió como un modelo básico con la premisa que los buenos resultados se podrían obtener con el compromiso de los integrantes de la organización por mejorar los procesos, recibiendo la denominación de Modelo de Excelencia Empresarial (Business Excellence Model). El año 1999 en modelo se modificó a uno más avanzado donde los cambios más sustanciales recaían en la incorporación de la innovación y el aprendizaje como claves de la ventaja competitiva, acentuando la orientación a los clientes y stakeholders. Finalmente en el año 2003 se realizaron pequeñas modificaciones en alguno de sus criterios.
El Modelo EFQM de Excelencia puede aplicarse con los siguientes objetivos:
§  Autoevaluación de la organización.
§  Autoevaluación realizada por un tercero.
§  Realizar Benchmarking.
§  Base para presentarse al premio Europeo de la Calidad.
NORMAS ISO 9000
Las series de ISO 9000 son un grupo de 5 individuales, pero relacionadas, estándares internacionales de administración de la calidad y aseguramiento de calidad.
La principal norma de la familia es:
§  ISO 9001:2000 - Sistemas de Gestión de la Calidad - Requisitos.
§  Y otra norma es vinculante a la anterior: ISO 9004:2000 - Sistemas de Gestión de la Calidad - Guía de mejoras del funcionamiento.
§  La ISO 9000:2000 contiene las definiciones de los términos que se utilizan en las otras dos normas. Es decir que si alguien necesita conocer qué se entiende por "sistema de gestión de la calidad", "no conformidad", "producto", por ejemplo, debe referirse a esta norma.
§  La ISO 9001:2000 es la norma que contiene los requisitos que debe cumplir una organización para la implementación de un SGC.

Algunos beneficios que se alcanzan al instrumentar estas series en la empresa, son:
§  La posibilidad de darle calidad al producto o servicio
§  Evitar costos de inspecciones finales, costos de garantías y reprocesos
§  Puede reducirse el número de auditorías de los clientes a los procesos de operación
§  Mayor aceptación por parte de los clientes y acogida en los mercados tanto nacionales como internacionales
Proceso de Mejora Continua
Mejora Continua - Ciclo PDCA
La mejora continua de la capacidad y resultados, debe ser el objetivo permanente de la organización. Para ello se utiliza un ciclo PDCA, el cual se basa en el principio de mejora continua de la gestión de la calidad. Ésta es una de las bases que inspiran la filosofía de la gestión excelente.
"Mejora mañana lo que puedas mejorar hoy, pero mejora todos los días"
La base del modelo de mejora continua es la autoevaluación. En ella detectamos puntos fuertes, que hay que tratar de mantener y áreas de mejora, cuyo objetivo deberá ser un proyecto de mejora.
El ciclo PDCA de mejora continua se basa en los siguientes apartados:
Plan (planificar)
§  Organización lógica del trabajo
§  Identificación del problema y planificación.
§  Observaciones y análisis.
§  Establecimiento de objetivos a alcanzar.
§  Establecimiento de indicadores de control.
Do (hacer)
§  Correcta realización de las tareas planificadas
§  Preparación exhaustiva y sistemática de lo previsto.
§  Aplicación controlada del plan.
§  Verificación de la aplicación.
Check (comprobar)
§  Comprobación de los logros obtenidos
§  Verificación de los resultados de las acciones realizadas.
§  Comparación con los objetivos.
Adjust (ajustar)
§  Posibilidad de aprovechar y extender aprendizajes y experiencias adquiridas en otros casos
§  Analizar los datos obtenidos.
§  Proponer alternativa de mejora.
§  Estandarización y consolidación.
§  Preparación de la siguiente etapa del plan.
La excelencia ha de alcanzarse mediante un proceso de mejora continua. Mejora, en todos los campos, de las capacidades del personal, eficiencia de los recursos, de las relaciones con el público, entre los miembros de la organización, con la sociedad y cuanto se le ocurra a la organización, que pueda mejorarse en dicha organización, y que se traduzca en una mejora de la calidad del producto o servicio que prestamos.
Alcanzar los mejores resultados, no es labor de un día. Es un proceso progresivo en el que no puede haber retrocesos. Han de cumplirse los objetivos de la organización, y prepararse para los próximos retos.

Bibliografía

Alava, M. (2012). Guía de la Calidad. Obtenido de http://www.guiadelacalidad.com/modelo-efqm/mejora-continua
Benitez, L. R. (2009). Modelos de Gestión de la Calidad Total. Obtenido de http://es.slideshare.net/poblete.rodrigo/modelos-de-gestion-de-calidad
Coello, C. (2015). AEC. Obtenido de Asociación Española para la Calidad: http://www.aec.es/web/guest/centro-conocimiento/modelos-de-calidad
Garcia, J. R. (2014). Avantare. Obtenido de http://www.avantare.com/lineas-de-negocio/materiales-de-referencia/que-es-psp-y-tsp
Melvin. (12 de Enero de 2008). Modelos de Gestion de la Calidad del Software. Obtenido de http://modelosdegestiondelacalidad.blogspot.mx/2008/01/normas-iso-9000.html



martes, 21 de abril de 2015

Ensayo Calidad del Software

Tema: Calidad del Software
Hipótesis
Si alguna característica de la calidad del software es desequilibrada o no se implementa de manera correcta con las demás, el software carecerá de ésta.
Argumentación
Exactitud
o   Es la base de un software
o   Es un factor externo que se logra a través de los requerimientos funcionales del software y tiene que lograr sus objetivos.
o   En la exactitud, todo va concatenado en función del software, tomando en cuenta que todos los elementos involucrados deben estar verificados, garantizados y asegurados por el desarrollador.
Métrica:

En donde, si la exactitud es = 0, el software es de calidad y conforme la exactitud > 0, va decreciendo ésta.

La exactitud, como ya lo hemos mencionado, es la parte fundamental del software que, sin ella, el software simplemente sería nefasto. No importa si la interfaz es hermosa, si su capacidad es mayor o tenga algo extra, si no cumple con los requerimientos exactos.

Robustez
La robustez se define como la capacidad de responder ante algún evento que pueda comprometer la funcionalidad de este en otras palabras es la capacidad de responder ante sucesos inesperados.
Existen diversos tipos de software a lo largo del mundo, todos ellos cumplen una función específica, es decir, es el fin con el que fueron creados.
Este es importante ya que si el software tiene exactitud, antes definido y pasa algo fuera de estos, el sistema deja de funcionar  dañando el contenido que tenía; dejando su objetivo el cual es realizar cualquier función, por lo mismo se convierte en un sistema inservible y sin calidad.
Para poder calificar la robustez se utiliza una determinada métrica o indicadores.
También se utilizan normas para la calidad de software, siendo la más común la  ISO 9000 la cual [3]"Pone a disposición de un auditor o certificador los procesos internos, de forma que este indique si cumple o no la normativa al 100%, audita el sistema; Si los resultados son positivos se emite la certificación y cada cierto tiempo se tiene que renovar; La certificación es costosa, a consecuencia de costes que ocasionan la lejanía y el tiempo de duración de proceso (aprox. 6 meses). Se certifica la empresa y la metodología para el desarrollo de la aplicación."
Una métrica propuesta por un compañero nuestro fue dividir el número de veces que el software funcionó bien entre el número de errores que hayan ocurrido, si es mayor a 1 el resultante, el software tiene robustez.


En mi opinión modificaría esta métrica como la división del número de veces en las cuales fallo entre el número de veces en las cuales respondió bien ante esta falla, va obteniendo mayor robustez mientras vaya aumentando el resultante.

Fácil de Usar (Usabilidad)
Se define cómo la simplicidad con la que el usuario con sus conocimientos y aptitudes conviven con el software de manera adecuada y logrando un aprovechamiento del mismo. En otras palabras, que el esfuerzo y entrenamiento del usuario sea solo el necesario para que este pueda interactuar con el sistema de manera óptima y el proceso implementado sea el adecuado.
La usabilidad comienza desde la instalación hasta la aplicación del sistema.
Este factor es importante cuando hablamos de calidad de software debido a que al inicio el usuario debe tener una idea de cómo funciona el sistema, de lo contrario, es muy complicado que lo siga implementando o que al utilizarlo no logre aprovechar los alcances del sistema o incluso puede causar confusión y frustración al usuario lo que provocaría que este dude de la calidad del software. El programa debe considerar toda gama  de usuarios, desde los usuarios “principiantes” hasta los que tienen más experiencia en la implementación del software. Al mismo tiempo se debe considerar el siguiente principio “No pretendas que conoces al usuario; no lo conoces” para que el sistema sea flexible ante cualquier tipo de usuario.
Se propuso la siguiente métrica:

Portabilidad
Lo podemos definir como la capacidad necesaria para trasladar el programa de un sistema hardware-software a otro de una manera eficiente y efectiva, y con el número mínimo de modificaciones.
Podemos decir que se refiere a tener las capacidades de adaptar su software en el entorno distinto, instalar el software y reemplazar atributos en el cambio de sistema, pero  sin contar aplicaciones distintas del sistema.
Contextualización
Un sistema que se encuentra en un local tiene la capacidad de ser instalado en otra computadora con otro sistema operativo y con un pequeño esfuerzo en modificarlo debe ser capaz de tener las mismas funciones iniciales.
Métrica
Una fórmula que podemos ocupar para medir es:
Portabilidad = 1 – (RM / RA)

Dónde:         *RM son los recursos necesarios para mover el sistema al nuevo entorno
                        *RA son los recursos necesarios para adaptar el sistema en el nuevo entorno residente.
Extensibilidad
La extensibilidad se define como la facilidad de adaptación del sistema hacia los cambios de especificación, un ejemplo es cuando estás haciendo un tenga, con tan solo un bloque que muevas se puede caer toda la torre, si lo trasladamos a un software quiere decir que modifiques alguna cosa y cuando lo haces se cae todo tu software es una clara muestra de que no cumple con la extensibilidad.
Como en el ejemplo, es algo importante que debe tener un software, ya que vivimos en un mundo que cambia constante mente y más si se trata de tecnología, y de negocios; los cuales serán dedicados la mayoría de softwares.
Para erradicar este problema una de las opciones es trabajar los softwares de manera individual, como en POO (Programación Orientada a Objetos).
En algunos textos dicen que los principios de extensibilidad son:
·         Diseños simples( simple arquitectura)
·         Descentralización (independientes)
Una métrica que utilizaría para evaluar la extensibilidad sería:


Compatibilidad
Se refiere a la capacidad del software para compartir o convivir con otro sistema, que el programa sea capaz de compartir información con uno o más sistemas que se encuentren en su mismo entorno mientras realiza las funciones por la que es requerido. Para esto se requiere generalizar el programa y homogenizar sus aspectos, con esto se logra que al juntarse no haya discrepancia ante requerimientos específicos que impidan la convivencia.
Es casi imposible que existan sistemas aislados, por muy bueno que sea un programa, si no puede convivir con el entorno en el que se encuentra, el sistema no se podrá desarrollar como se fue requerido.
Se propuso la siguiente métrica:
Reutilización
El concepto de reutilización dentro del software puede aplicarse de distintas maneras al momento de usarlo.
1.    Consiste en la capacidad de un sistema (software) de ser utilizado en algún otro con el cual haya alguna similitud ya sea de código, diseño o especificación
2.    Es la creación de un sistema a partir de alguno ya existente.

Pero la forma de definirlo de manera más adecuada es:
Elementos de software creados en desarrollos anteriores que son empleados en un sistema nuevo que simplifica el proceso de desarrollo y a su vez otorga mayor calidad.
Contextualización
Un software que aplique la reutilización permite que el desarrollo sea más eficiente, incremente su productividad y sea rápido, los tiempos se reducen y permite el avance en algún otro aspecto del sistema como eficiencia, exactitud, etc.
Métrica
La reutilización dentro de un sistema puede ser medida a través de una fórmula que establecimos como:

La reutilización no es lo mismo que la herencia o la copia del código en algún sistema. La reutilización normalmente puede ser dada en diversos programas mediante la importación, es decir, es una característica que solo se da en programación orientada a objetos.
Ejemplo
En Java es fácil notar esta reutilización al momento de hacer uso de las librerías que nos brinda, se importa la clase de esa librería y se puede hacer uso de su contenido en el nuevo código.
Funcionalidad
Se define como el número de posibilidades que  proporciona un sistema.
En un software de calidad se  deben incluir solo la característica necesaria para su diseño e implementación, por lo cual no se deben de incluir funciones innecesarias que puedan complicar  al usuario la implementación del sistema.
Contextualización
La calidad de Software requiere esta característica debido a que si un sistema es funcionarle, éste permite que se cumpla el objetivo de resolver una problemática y no se desvíe  por “solucionar” otras.
Ejemplo
En el 2011, Facebook actualización el muro, donde el usuario escribía o recibía comentarios,  cambiándolo a biografía, lo que dificultó a muchos usuarios sus acciones en la red social, perdiendo su funcionalidad.
Métrica
Características
SI
No
Cumple con las funciones necesarias.


Tiene el diseño necesario para que ser un software amigable.


Sus métodos tienen el mínimo  núm. de errores o ninguno.


Sus actualizaciones no afectan a la calidad de software.



Ecuación para calcular la funcionalidad:


Eficiencia
La eficiencia se entiende como la cantidad de recursos computacionales y de código requeridos por un producto de software para llevar a cabo las funciones encomendadas, en otras palabras, es la capacidad del software para hacer buen uso de los recursos de hardware que manipula. El concepto de eficiencia puede ser confundido con eficacia en ocasiones, pero se debe tener en cuenta que son dos significados distintos; la eficiencia busca cumplir con la funcionalidad de la manera más “sutil” posible, mientras que la eficacia solo se enfoca alcanzar el resultado esperado. La eficiencia en un Software es imprescindible para la obtención del máximo beneficio.
La métrica propuesta para medir la eficiencia está dada por la siguiente ecuación:

Donde a su vez, los recursos pueden ser definidos como:


Por lo tanto, la ecuación que devuelve el valor de la eficiencia es:

En términos más vanos, se refiere al uso de los recursos involucrados en la realización de una meta, o más específicamente a la relación entre los recursos aplicados y el resultado obtenido. Cuando decimos por ejemplo: "Él es una persona eficiente" queremos manifestar que hace su trabajo muy rápido, sin demoras, es decir hace un buen uso del recurso tiempo con relación al resultado. Este concepto de eficiencia se aplica a cualquier otro recurso, siempre vinculado, por supuesto a un resultado definido. Al referirnos a la eficiencia en el Software, implícitamente hace presencia el desempeño, siendo casi sinónimos. Una actividad eficiente hace un uso óptimo de los recursos y, por tanto, tiene el menor costo posible.
Puntualidad
Es la habilidad de un sistema de ser entregado según la fecha prefijada o antes de que los usuarios lo esperen. La economía acompaña este punto siendo la habilidad de un sistema para ser terminado exactamente o por debajo de su presupuesto original.
Las presiones de puntualidad podrían tentarnos a usar técnicas de “Desarrollo Rápido de Aplicaciones” cuyos resultados pueden no poseer mucha extensibilidad.
Métrica
Para esto debemos tener en cuenta que debemos medir el retraso pues es así como nos puede ayudar a mejorar a ese punto y darle más calidad.
R: retraso
T: Tiempo dado en horas  en que es dado el software de acuerdo a lo prefijado.
P: Tiempo prefijado dado en horas.
R = T - P
Siendo que si R es cero el retraso es nulo y fue entregado a tiempo, si es positivo hubo un retraso lo que indica que se necesita hacer una mejora en cambio sí es negativo quiere decir que fue entregado antes que puede hablar bien.
Ejemplo:
En una escuela es pedido un software que se necesita ser entregado para su evaluación final dentro de 36 horas, uno de los equipos entrega su trabajo en 40 horas por lo que se aplica la métrica.
R = T - P;                     R = 40 - 36;                      R = 4
El resultado quiere decir que hubo un retraso de 4 horas que hizo que su calificación fue menor por lo que se necesita un proceso de mejora  para obtener una mejor calificación.
Este punto es importante pues en una gran empresa puede significar el que pidan o no pidan sus proyectos pues hoy en día el mundo se mueve en tiempos exactos y lo que menos quieren es perder tiempo  ya que a ellos aplica el dicho: “el tiempo es oro”.
Conclusión
A manera de retomar el concepto, la calidad en el software se define como el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. Es necesario estar conscientes de que la calidad en el software es medible, por lo tanto se establecen métricas para determinar esta cualidad, además las métricas que se utilizan varían dependiendo de cada una de las características la integran. Como se observó con anterioridad, para cada una de estas cualidades se propusieron distintos criterios a evaluar, y cada uno de estos era introducido en ecuaciones que arrojaban un rango de valores para los que la calidad era aceptable. Tomando en cuenta lo anterior, podemos concluir que todas estas características dependen una de la otra, es decir, si en algún momento falta alguna o su valor es inferior al admisible, todas las demás se verán afectadas en mayor o menor medida, dependiendo de la correlación que exista entre ellas. En adición, es recomendable tener en cuenta tanto la obtención de la calidad como su control durante todas las etapas del ciclo de vida del software, ya que desperfectos posteriores podrían causar graves daños y costos extra de reparación.