Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ASIGNATURA:
EVALUACIÓN DE SOFTWARE.
TUTOR:
FERNANDO DAZA.
ESTUDIANTES:
JOSE LUIS GUERRA AVILA.
JAVER DARIO BARROSO VERTEL
TEMA:
METRICAS DEL SOFTWARE.
ING: DE SISTEMAS.
IX SEMESTRE.
LORICA, CÓRDOBA
2020.
INTRODUCCIÓN.
Hoy día es cada vez más frecuente la consideración de métricas de software, es por
eso que sé están implantando en la actualidad, llevando consigo puntos débiles
aumento de esfuerzo y fuertes alta calidad, reusabilidad, madurez que están
experimentado los ingenieros y administradores de software. El uso de éstas se ha
adoptado con éxito en el amplio mercado de desarrollo de software introduciendo
reconocimientos y consideraciones por parte de administradores y usuarios, y
estableciendo la necesidad de un enfoque más disciplinado y de una alta calidad. Así
muchos particulares y compañías desarrolladoras de software, están reconociendo la
importancia del uso de las métricas, aunque de igual modo siguen sin conocer el
alcance de madurez y calidad del producto final y la disciplina de ingeniería madura que
llega a alcanzar con la aplicación de los distintos métodos y técnicas y la interpretación
de los resultados que proyecta el uso de las métricas; provocando con esto un cambio.
OBJETIVO GENERAL.
OBJETIVOS ESPESIFICOS.
Software.
MÉTRICAS DEL SOFTWARE En el campo de la ingeniería del software una métrica es
cualquier medida o conjunto de medidas destinadas a conocer o estimar el tamaño u
otra característica de un software o un sistema de información, generalmente para
realizar comparativas o para la planificación de proyectos de desarrollo. Un ejemplo
ampliamente usado es la llamada métrica de punto función. Las métricas de software
se refieren a un amplio rango de medidas para el software de computadoras dentro del
contexto de la planificación del proyecto de software, las métricas de calidad pueden
ser aplicadas a organizaciones, procesos y productos los cuales directamente afectan a
la estimación de costos. Las medidas directas. Ejemplo la longitud de un tornillo.
Medidas indirectas ejemplo. Calidad de tornillos producidos.
Métricas Orientadas al tamaño. Son utilizadas para obtener medidas directas del
resultado y la calidad de la ingeniería del software.
Métricas Orientadas a la Función. Son medidas indirectas del software y del proceso
por el cual se desarrollará; se centran en la funcionalidad o utilidad del programa
(Puntos de Función).
En este punto, nos damos cuenta que la medición del software bajo las técnicas vistas
carece de objetividad, uno que las consideramos técnicas cualitativas y no
cuantitativos. Ahora bien, el problema es cómo definir un método de medición que nos
permitan mostrar a través de una cantidad la complejidad del software.
Factores de calidad de McCall. McCall puedo poner una clasificación de factores que
se concentran en tres aspectos importantes.
Funcionalidad
Confiabilidad
Usabilidad
Eficiencia
Facilidad de mantenimiento
Portabilidad
Al igual que en otros casos los atributos definidos por la iso 9126 son medidas
indirectas una excelente guía para determinar la calidad del software.
Según Fenton: Desarrollar una métrica única sería semejante a la búsqueda imposible
del santo grial.
Según Shari Pfleeger: Lo mismo que las medidas de temperatura comienzan con un
índice de referencia y evolucionan por sofisticadas escala, herramientas y técnicas, las
medidas del software están evolucionando.
Métricas del Modelo de Análisis. En esta fase es deseable que las métricas técnicas
proporcionen una visión interna a la calidad del modelo de análisis. Estas métricas
examinan el modelo de análisis con la intención de predecir el "tamaño" del sistema
resultante; es probable que el tamaño y la complejidad del diseño estén directamente
relacionadas.
MÉTRICA BANG
Al igual que la métrica de punto de función, la métrica bang puede emplearse para
desarrollar una indicación del tamaño del software a implementar como consecuencia
del modelo de análisis. Desarrollada por DeMarco, la métrica bang es «una indicación
independiente de la implementación del tamaño del sistema». Para calcular la métrica
bang, el desarrollador de software debe evaluar primero un conjunto de primitivas
(elementos del modelo de análisis que no se subdividen más en el nivel de análisis).
Métricas del Modelo del Diseño. Es inconcebible que el diseño de un nuevo avión, un
nuevo chip de computadora o un nuevo edificio de oficinas se realizara sin definir las
medidas del diseño, sin determinar las métricas para varios aspectos de la calidad del
diseño y usarlas para guiar la evolución del diseño. Y sin embargo, el diseño de
sistemas complejos basados en computadora a menudo consigue proseguir sin
virtualmente ninguna medición. La ironía es que las métricas de diseño para el software
están disponibles, pero la gran mayoría de los desarrolladores de software continúan
sin saber que existen. Las métricas de diseño para el software, como otras métricas del
software, no son perfectas. Continúa el debate sobre la eficacia y cómo deberían
aplicarse. Muchos expertos argumentan que se necesita más experimentación hasta
que se puedan emplear las métricas de diseño. Y sin embargo, el diseño sin medición
es una alternativa inaceptable.
Propone las primeras leyes analíticas para el software de computadora. La ciencia del
software asigna leyes cuantitativas al desarrollo del software de computadora, usando
un conjunto de medidas primitivas que pueden obtenerse una vez que se ha generado
o estimado el código después de completar el diseño.
Métricas para Pruebas. Aunque se ha escrito mucho sobre las métricas del software
para pruebas, la mayoría de las métricas propuestas se concentran en el proceso de
prueba, no en las características técnicas de las pruebas mismas. En general, los
responsables de las pruebas deben fiarse de las métricas de análisis, diseño y código
para que les guíen en el diseño y ejecución de los casos de prueba.
Métricas del Mantenimiento. Todas las métricas del software pueden usarse para el
desarrollo de nuevo software y para el mantenimiento del existente. Sin embargo, se
han propuesto métricas diseñadas explícitamente para actividades de mantenimiento.
El estándar EEE 982.1-1988 sugiere un índice de madurez del software (IMS) que
proporciona una indicación de la estabilidad de un producto software (basada en los
cambios que ocurren con cada versión del producto).
Los casos de prueba quedarán determinados por los valores a asignar a las entradas
en su ejecución El objetivo es diseñar casos de prueba que, sistemáticamente, saquen
a la luz diferentes clases de errores, haciéndolo con la menor cantidad de tiempo y de
esfuerzo. La prueba no puede asegurar la ausencia de errores; sólo puede demostrar
que existen defectos en el software. Pruebas de caja negra: Realizar pruebas de forma
que se compruebe que cada función es operativa.
Caja Negra. A aquel elemento que es estudiado desde el punto de vista de las
entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su
funcionamiento interno. En otras palabras, de una caja negra nos interesará su forma
de interactuar con el medio que le rodea (en ocasiones, otros elementos que también
podrían ser cajas negras) entendiendo qué es lo que hace, pero sin dar importancia a
cómo lo hace. Por tanto, de una caja negra deben estar muy bien definidas sus
entradas y salidas, es decir, su interfaz; en cambio, no se precisa definir ni conocer los
detalles internos de su funcionamiento.
Una estrategia de prueba del software integra las técnicas de diseño de casos de
prueba en una serie de pasos bien planificados que dan como resultado una correcta
construcción del software. Y lo que es más importante, una estrategia de prueba del
software proporciona un mapa a seguir para el responsable del desarrollo del software,
a la organización de control de calidad y al cliente: un mapa que describe los pasos que
hay que llevar a cabo como parte de la prueba, cuándo se deben planificar y realizar
esos pasos, y cuánto esfuerzo, tiempo y recursos se van a requerir. Por tanto, cualquier
estrategia de prueba debe incorporar la planificación de la prueba, el diseño de casos
de prueba, la ejecución de las pruebas y la agrupación y evaluación de los datos
resultantes.
Una estrategia de prueba del software debe ser suficientemente flexible para promover
la creatividad y la adaptabilidad necesarias para adecuar la prueba a todos los grandes
sistemas basados en software. Al mismo tiempo, la estrategia debe ser suficientemente
rígida para promover un seguimiento razonable de la planificación y la gestión a medida
que progresa el proyecto. Shooman trata estos puntos:
Prueba de integración. Un neófito del mundo del software podría, una vez que se les
ha hecho la prueba de unidad a todos los módulos, cuestionar de forma aparentemente
legítima lo siguiente: «Si todos funcionan bien por separado, ¿por qué dudar de que
funcionen todos juntos?». Por supuesto, el problema es ponerlos juntos (interacción).
Los datos se pueden perder en una interfaz; un módulo puede tener un efecto adverso
e inadvertido sobre otro las sub funciones, cuando se combinan, pueden no producir la
función principal deseada; la imprecisión aceptada individualmente puede crecer hasta
niveles inaceptables; y las estructuras de datos globales pueden presentar problemas;
desgraciadamente, la lista sigue y sigue.
El primer enfoque (retrasar pruebas hasta reemplazar los resguardos por los módulos
reales) hace que perdamos cierto control sobre la correspondencia de ciertas pruebas
específicas con la incorporación de determinados módulos. Esto puede dificultar la
determinación de las causas del error y tiende a violar la naturaleza altamente
restrictiva del enfoque descendente. El segundo enfoque es factible pero puede llevar a
un significativo incremento del esfuerzo a medida que los resguardos se hagan más
complejos. El tercer enfoque, denominado prueba ascendente, se estudia a
continuación.
La prueba del sistema, realmente, está constituida por una serie de pruebas diferentes
cuyo propósito primordial es ejercitar profundamente el sistema basado en
computadora. Aunque cada prueba tiene un propósito diferente, todas trabajan para
verificar que se han integrado adecuadamente todos los elementos del sistema y que
realizan las funciones apropiadas.
El proceso de depuración siempre tiene uno de los dos resultados siguientes: (1) se
encuentra la causa, se corrige y se elimina; o (2) no se encuentra la causa. En este
último caso, la persona que realiza la depuración debe sospechar la causa, diseñar un
caso de prueba que ayude a confirmar sus sospechas y el trabajo vuelve hacia atrás a
la corrección del error de una forma iterativa.
Las pruebas de software. Son las investigaciones empíricas y técnicas cuyo objetivo
es proporcionar información objetiva e independiente sobre la calidad del producto a la
parte interesada o stakeholder. Es una actividad más en el proceso de control de
calidad.
Conclusiones
Las medidas y las métricas que podemos construir con ellas son fundamentales para
tener datos palpables con los que hacer estimaciones, ya sean de recursos o de costes,
en Ingeniería del Software.