Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Semana Refinamiento en Producción de Software
Semana Refinamiento en Producción de Software
PRODUCCIÓN DE
SOFTWARE
DOCENTE:
ING. KATHERINE ROMERO USSA.
INTRODUCCIÓN.
El refinamiento de software es el proceso de mejorar la calidad y funcionalidad de un software existente, a
través de la revisión y la mejora continua del mismo. En este informe, se describirán las principales
características del refinamiento de software, los tipos de refinamiento, los diseños utilizados, los análisis
realizados, y cómo se desarrolla en un entorno laboral.
¿PARA QUÉ SIRVE EL REFINAMIENTO DE
SOFTWARE?
¿Para qué sirve El refinamiento de software sirve para mejorar la calidad y funcionalidad de un software existente, lo que puede llevar
a una mejor satisfacción del cliente y una mayor eficiencia en el uso del software. Además, el refinamiento de
el refinamiento software también puede ayudar a corregir errores y problemas de seguridad, y a adaptarse a cambios en los requisitos
del usuario o del mercado.
de software?
El refinamiento de software, también conocido como refactorización, sirve para mejorar la calidad del código de un
software existente sin cambiar su comportamiento externo. Los objetivos principales del refinamiento de software
son:
Mejorar la legibilidad del código: El refinamiento de software puede ayudar a hacer el código
más fácil de leer y entender, lo que facilita su
mantenimiento y evolución.
Mejorar la escalabilidad del software: El refinamiento de software puede hacer que el código sea
más modular y reusable, lo que facilita su extensión y
evolución a medida que las necesidades del negocio
cambian.
Mejora de la funcionalidad: Una vez que se han identificado los errores, el siguiente paso es
mejorar la funcionalidad del software. Esto puede implicar agregar
nuevas características o mejorar las existentes para que el software
sea más útil y atractivo para los usuarios.
Mejora del rendimiento: El refinamiento de software también se enfoca en mejorar el
rendimiento del software. Esto puede incluir la optimización del
código, la reducción del tamaño del archivo y la mejora de los
tiempos de respuesta.
Optimización del código: Una parte importante del refinamiento de software es la
optimización del código. Esto implica revisar el código existente
para encontrar formas de hacerlo más eficiente y efectivo.
Diseño centrado en el
Diseño incremental: El Análisis de calidad: Se
Diseño basado en usuario: El refinamiento Análisis en el
refinamiento de refiere a la revisión de
pruebas: Se basa en de software se enfoca refinamiento de
software se realiza en la calidad del software,
pruebas objetivas y en mejorar la software Los
múltiples ciclos, donde mediante el uso de
cuantificables, para experiencia del usuario, principales análisis
se agregan nuevas métricas de calidad del
identificar problemas y mediante la evaluación realizados en el
funcionalidades y se software, como el
áreas de mejora en el y mejora de la refinamiento de
mejora el software número de errores o la
software. usabilidad y la software incluyen:
existente en cada ciclo. eficiencia del software.
eficiencia del software.
MODELOS
CLÁSICOS DE
CALIDAD DE
SOFTWARE.
MODELOS CLÁSICOS DE CALIDAD DE
SOFTWARE.
Definiciones:
Los modelos de calidad de software suelen incluir un conjunto de prácticas recomendadas para la planificación, diseño,
construcción, pruebas, implementación y mantenimiento del software. También incluyen criterios de evaluación y medición de
la calidad del software, así como herramientas y técnicas para la implementación de las prácticas recomendadas.
La calidad es un compuesto de diversas características que contiene un producto de software y que le da valor. Pero la calidad no solo se
presenta en el producto final, para que haya una calidad que se refleje en el producto se deben considerar todos los procesos durante el
desarrollo del software.
Los requisitos que el cliente inicialmente solicita son la base para medir la calidad del producto software cuando los requisitos no satisfacen
las necesidades del cliente no existe la calidad, se puede decir que la calidad es proporcional a la satisfacción del cliente. Es por eso que las
organizaciones desarrolladoras de software buscan la manera de implantar nuevos modelos de calidad de productos y/o procesos que los
conduzcan a la evaluación del producto y a la satisfacción del cliente.
Un modelo de calidad de software es un conjunto de buenas prácticas para el ciclo de vida del software, enfocadas en los procesos de
gestión y desarrollo de proyectos, este indica qué hacer y no cómo hacerlo.
MODELOS CLÁSICOS DE CALIDAD DE
SOFTWARE.
Para identificar y aplicar criterios requeridos para el desarrollo del software, es importante seguir las mejores
prácticas de desarrollo de software y considerar los requisitos del cliente. Algunos criterios importantes para el
desarrollo del software incluyen:
Funcionalidad:
El software debe cumplir con todos los requisitos funcionales definidos por el cliente.
Usabilidad:
El software debe ser fácil de usar y tener una interfaz de usuario intuitiva.
Eficiencia:
El software debe ser eficiente en el uso de recursos, como la memoria y el procesador.
Fiabilidad:
El software debe ser confiable y estar disponible para su uso en todo momento.
Mantenibilidad:
El software debe ser fácil de mantener y actualizar.
Portabilidad:
El software debe ser fácil de portar a diferentes plataformas y sistemas operativos.
Al seguir estos criterios y modelos de calidad del software, se puede garantizar que el software resultante cumpla
con los requisitos del cliente y sea de alta calidad.
EL MODELO DE CALIDAD DE MCCALL
Fue creado en 1977 para las fuerzas aéreas norteamericana con la intención de acercar las visiones de
calidad de los desarrolladores y los usuarios. Es de especial importancia por ser históricamente el
primero y la base de esfuerzos posteriores, y se organiza en torno a tres tipos de características de
calidad” (Sánchez, Sicilia, Rodríguez, 2012, p. 385) que se enlistan a continuación:
Permiten
identificar los Indican cómo
aspectos debe construirse
Factores exteriores que al Criterios internamente el Métricas Indican cómo
de usuario son de software desde de controlar y
calidad. importantes en calidad. la perspectiva calidad. medir la calidad.
el momento de del
conocer el desarrollador.
producto final.
El modelo de McCall basándose en las características anteriores, comprende once factores de calidad:
corrección, fiabilidad, eficiencia, integridad, usabilidad, facilidad de mantenimiento, facilidad de
evaluación, flexibilidad, portabilidad, reusabilidad e interoperabilidad que evalúan la calidad de un
producto software. Cada factor de calidad considera criterios específicos de calidad que ayudan a la
evaluación específica del producto software y poder asignar métricas o medidas de calidad.
EL MODELO DE CALIDAD DE MCCALL
Es importante señalar que los factores de calidad están divididos para su estudio en tres perspectivas.
Las perspectivas, los once factores y criterios de evaluación de la calidad según el modelo de McCall, se
exponen en la tabla siguiente.
EL MODELO DE CALIDAD DE
Operación Cumple con el objetivo para el cual fue creado.
del
Corrección.
Criterios a considerar: completitud de implementación de las funciones,
producto consistencia en el diseño e implementación y trazabilidad o
rastreabilidad desde los requisitos de inicio de la creación del producto
software hasta la ejecución final del producto.
Involucra el tiempo de la realización de un proceso en el producto
Fiabilidad software.
MCCALL
Usabilidad software.
implementar.
Se prueban todas las opciones del
Facilidad de producto software.
evaluación
Criterios a considerar: la simplicidad,
auto descripción, modularidad,
etcéteras.
Para evaluar la calidad de un software con el modelo de McCall se realiza el siguiente proceso.
Utilidad
general
Facilidad de
Utilidad tal y
mantenimiento Portabilidad
como está
Modelo de Este modelo se enfoca en la calidad interna del software, así como
calidad en la calidad externa del software. La calidad interna se refiere a
ISO/IEC 9126: las características del software que no son visibles para el usuario,
como la modularidad, la eficiencia y la seguridad. La calidad
externa se refiere a las características del software que son visibles
para el usuario, como la facilidad de uso y la funcionalidad.