Mantenibilidad y Calidad Del Software

35
TALLER DE MANTENCIÓN DE SOFTWARE Prueba 2 Ricardo Carrasco Randy Urtubia

description

Elementos que demuestran la calidad y mantenibilidad de un producto software.

Transcript of Mantenibilidad y Calidad Del Software

Presentacin de PowerPoint

TALLER DE MANTENCIN DE SOFTWAREPrueba 2Ricardo CarrascoRandy Urtubia1) Desarrolle y explique la norma ISO/IEC 12207 Ciclos de Vida, apoyndose con un mapa conceptual, adems de explicar 3 ciclos de vidas vistos en clases.

ISO/IEC 12207 Ciclos de VidaEsta ISO se preocupa del ciclo de vida del software en su etapa de mantenimiento y la razn, es porque nos va a cambiar la estructura del proyecto dependiendo del ciclo de vida que escojamos.Segn este estndar, las actividades que se pueden realizar durante el ciclo de vida del Software, se pueden agrupar en:

Cinco procesos principales.Ocho de soporte.Cuatro de organizacin.

Ciclos de vida

Procesos PrincipalesProceso de Adquisicin: Se refiere a cuando una organizacin adquiere un sistema, producto software o servicio software.Proceso de Suministro: Se relaciona con las actividades del proveedor.Proceso de Desarrollo: Define las actividades que tiene que llevar a cabo el desarrollador, organiza que se define y se desarrolla en el software.Proceso de Operacin: Define las actividades del operador, organizacin que proporciona el servicio, organizacin que proporciona el servicio de operar un sistema informtico.Proceso de Mantenimiento: Define las actividades del responsable de mantenimiento.

Procesos de ApoyoProceso de documentacin: Registra la informacin producida por los proceso del ciclo de vida

Proceso de gestin de la configuracin: Se definen las actividades a seguir.

Proceso de Aseguramiento de la calidad: Define las actividades para asegurar, que los productos software y los procesos son conformes a sus requerimientos especificados.

Proceso de Verificacin: Define las actividades para verificar el proyecto software.

Proceso de Validacin: Define las actividades para validar el producto software del proyecto.

Proceso de Revisin Conjunta: Define las actividades para evaluar el estado y productos de una actividad.

Proceso de Auditora: Define las actividades para determinar la conformidad con los requerimientos, planes y contrato.

Proceso de Solucin de problemas: Define las actividades para analizar y eliminar los problemas que sean descubiertos durante la ejecucin del proceso de desarrollo.

Procesos OrganizativosProceso de Gestin: Define las actividades bsicas de gestin, durante un proceso del ciclo de vida.Proceso de Infraestructura: Define las actividades bsicas para establecer la infraestructura de un proceso del ciclo de vida.Proceso de Mejora de proceso: Define las actividades bsicas que una organizacin lleva a cabo para establecer, medir, controlar y mejorar sus procesos del ciclo de vida.Proceso de Recursos Humanos: Define las actividades bsicas para conseguir el personal adecuadamente capacitado.

Modelo CascacaEste enfoque metodolgico ordena rigurosamente las etapas delproceso para el desarrollo del software, de tal forma que el inicio de cada etapa debe esperar a la finalizacin de la etapa anterior.Al final de cada etapa, el modelo est diseado para llevar a cabo una revisin final, que se encarga de determinar si el proyecto est listo para avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la base de todos los dems modelos de ciclo de vida.

EtapasAnlisis de requisitos: En esta fase se analizan las necesidades de los usuarios finales del software para determinar qu objetivos se deben cubrir.Diseo del Sistema: Descompone y organiza el sistema en elementos que puedan elaborarse por separado, aprovechando las ventajas del desarrollo en equipo. Diseo del Programa: Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario.

Codificacin: Es la fase en donde se implementa elcdigo fuente, haciendo uso de prototipos as como de pruebas y ensayos para corregirerrores.Pruebas: Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que funciona correctamente .Verificacin: Es la fase en donde el usuario final ejecuta el sistema.Mantenimiento: Una de las etapas ms crticas, ya que se destina un 75% de los recursos, ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras expectativas.

Figura del modelo en cascada

Modelo IterativoEs un conjunto de tareas agrupadas en pequeas etapas repetitivas (iteraciones),es uno de los ms utilizados en los ltimos tiempos.El modelo consta de diversas etapas de desarrollo en cada incremento, las cuales inician con el anlisis y finalizan con la instauracin y aprobacin del sistema.

EtapasEtapa de inicializacin: Se crea una versin del sistema. La meta de esta etapa es crear un producto con el que el usuario pueda interactuar, y por ende retroalimentar el proceso. Etapa de iteracin: Esta etapa involucra el rediseo e implementacin de una tarea de la lista de control de proyecto, y el anlisis de la versin ms reciente del sistema.

Modelo EspiralLas actividades de este modelo se conforman en unaespiral, en la que cada bucle oiteracinrepresenta un conjunto de actividades. Las actividades no estn fijadas a ninguna prioridad, sino que las siguientes se eligen en funcin delanlisis de riesgo, comenzando por el bucle interior.

EtapasDeterminar o fijar objetivosRequisitos, especificacin, manual de usuario.Fijar las restricciones.Identificacin de riesgos del proyectoPlanificacin inicial.Anlisis del riesgo: Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no deseados y los daos y consecuencias que stas puedan producir.

PlanificacinTareas de la actividad propia y de prueba.Anlisis de alternativas e identificacin resolucin de riesgos.Se elige el modelo a seguir segn los riesgos.

2) Desarrolle y explique apoyado con un mapa conceptual el concepto de Mantenibilidad del Software y la intrnseca relacin con la Calidad del software.

Mantenibilidad del Software

La mantenibilidad del software in trminos de mantenimientos de cdigo fuente es considerado uno de los criterios claves para aceptar la entrega del software. Tambin es definida como una de las caractersticas clave de la calidad del software por las normas ISO/IEC 9126 (ver pregunta 3) e ISO/IEC 25010.

Qu hace que el cdigo sea mantenible?

Los dos factores ms importante son:

Cambiabilidad: El cdigo debe ser fcil de cambiar. Esto, a la vez puede tambin estar relacionado con la facilidad de comprensin del mismo (inteligibilidad) y su facilidad de aprendizaje (dos factores que entendemos como parte de la usabilidad del software).

Capacidad de ser probado: Un bloque de cdigo debe ser fcil de testear. La revisin del cdigo puede ser lograda por revisin de unidades de pruebas.

Adems de estas dos caractersticas principales, es necesario mencionar la analizabilidad o capacidad del software de ser analizado y comprendido, y la estabilidad, relacionada a la resistencia del software a los efectos de posibles modificaciones.

Cmo se mide la mantenibilidad de un software?

Para comprender la mantenibilidad se utilizan principalmente las siguientes tcnicas:

Cmo se relaciona la mantenibilidad con la calidad?

La finalidad de la calidad es medir efectividad, productividad, seguridad y satisfaccin de los usuarios.

La calidad en s, puede ser entendida como el grado en el cual el usuario percibe satisfaccin de sus expectativas.

Se debe decir que la mantenibilidad y la calidad estn en una relacin directamente proporcional, debido a que a mayor calidad, existir mayor mantenibilidad.

Cules son los factores de la calidad?

La mejor manera de representar los factores de la calidad es utilizando la pirmide de revisin, transicin y operacin que como podemos ver tiene muchos elementos en comn con los factores de mantenibilidad de software recin graficados.

3) Desarrolle y explique la ISO 9126 Calidad del Software, apoyado con un mapa conceptual indicando:Objetivos.Norma supervisora.reas de influencia.Explicando cada una de estas.

ISO/IEC 9126

La ISO 9126 de Ingeniera de Software, fue la norma estndar para la evaluacin de la calidad de software. Hoy en da ha sido reemplazada por la norma ISO/IEC 25010:2011.

Objetivo:

El objetivo fundamental de la norma es intentar corregir algunos de los vicios humanas que pueden afectar de modo negativo la entrega y percepcin del proyecto de desarrollo de un software.

La norma no provee requerimientos para el software, sino que define un modelo de calidad que es aplicable a cualquier tipo de software.

Divisin de la norma ISO/IEC 9126

La norma originalmente fue publicada el ao 1991, luego de eso, en el ao 2001, fue dividida en cuatro partes:

ISO/IEC 9126-1: IT- Caractersticas y mtricas de Calidad de Software:Parte 1: Caractersticas y subcaractersticas de calidad (Explicadas en las siguientes diapositivas).

ISO/IEC 9126-2: IT- Caractersticas y mtricas de Calidad de Software:Parte 2: Mtricas externas (Son las aplicables a la ejecucin del software).

ISO/IEC 9126-3: IT- Caractersticas y mtricas de Calidad de Software:Parte 3: Mtricas internas (Todas aquellas que no dependen de la ejecucin del software).

ISO/IEC 9126-4: IT- Caractersticas y mtricas de Calidad de Software:Parte 1: Calidad en el uso de mtricas (Disponibles slo en el uso real del producto).

A continuacin se explicarn las 6 reas de influencia de la norma:

FuncionalidadConfiabilidadUsabilidadEficienciaMantenibilidadPortabilidadFuncionalidad

Idoneidad: Atributos del software que tienen que ver con la presencia y capacidad de apropiarse de un grupo de funciones para una tarea especificada.

Precisin: Atributos del software que tienen que ver con la obtencin de resultados o efectos correctos o esperados.

Interoperabilidad: Atributos del software que tienen que ver con su habilidad de interactuar con sistemas especificados.

Seguridad: Atributos del software relacionados con su habilidad de prevenir usos no autorizados, ya sea de modo accidental o deliberado, a datos o programas.

Cumplimiento de la funcionalidad: Atributos del software que hacen que este se adhiera a estndares relacionados a la aplicacin o convencin o regulaciones en leyes o prescripciones similares.Confiabilidad

Madurez: Atributos del software relativos a la frecuencia de fallos por errores en el software.

Tolerancia a Fallos: Atributos del software relativos a su habilidad de mantener un nivel de desempeo especfico en caso de fallos o infracciones de interfaces especificadas.

Capacidad de Recuperacin: Atributos del software relativos a su habilidad de restablecer su nivel de desempeo y recuperar los datos directamente afectados en casos de fallos y en el tiempo y esfuerzo necesarios para ello.Usabilidad

Inteligibilidad: Atributos del software relacionados con el esfuerzo que necesitan hacer los usuarios para reconocer el concepto lgico y su aplicabilidad.

Facilidad de Aprendizaje: Atributos del software relacionados con el esfuerzo que los usuarios necesitan hacer para aprender a usar la aplicacin.

Operabilidad: Atributos del software relacionados con el esfuerzo que los usuarios necesitan hacer para operar y controlar la aplicacin.Eficiencia

Comportamiento en el tiempo: Atributos del software relacionados con los tiempos de respuesta y proceso y las tasas de rendimiento en funcin a su performance.

Utilizacin de recursos: Atributos del software relacionados con la cantidad de recursos usados y la duracin de tales usos en la realizacin de su funcin.Mantenibilidad

Analizabilidad: Atributos del software relacionados al esfuerzo necesario para diagnosticar deficiencias o causas de fallos, o para identificar las partes a ser modificadas.

Cambiabilidad: Atributos del software relacionados al esfuerzo necesario para modificar, remover fallas o cambiar el ambiente.

Estabilidad: Atributos del software relacionados con el riesgo de efectos inesperados en las modificaciones.

Capacidad de ser Probado: Atributos del software relacionados con el esfuerzo necesario para validar el software modificado.Portabilidad

Adaptabilidad: Atributos del software relacionados con la oportunidad para su adaptacin a diferentes ambientes especficos sin aplicar otras acciones o medios que aquellos provistos para este propsito.

Facilidad de Instalacin: Atributos de software relacionados con el esfuerzo necesario para instalar el software en el ambiente especificado.

Coexistencia: Atributos del software que hacen que este se adhiera a estndares o convenciones relativas a la portabilidad.

Intercambiabilidad: Atributos de software relacionados con la oportunidad y esfuerzo de usar a este en lugar de otro software en el ambiente del mismo.