• No se han encontrado resultados

La calidad del software y la gestión del riesgo

N/A
N/A
Protected

Academic year: 2021

Share "La calidad del software y la gestión del riesgo"

Copied!
17
0
0

Texto completo

(1)

Paul C Bentz

Executive Advisor

CAST Software

(2)

Estas cosas pasan …….

Computer Failure Delays United Flights Nationwide. June 17, 2011

Passengers were stranded at airports across the country Friday night after a failure in United Airlines’ computer

(3)

El Riesgo del SI

El Sistema de Información es la maquinaria de las empresas financieras y arranca elementos críticos de la cadena de valor de la empresa.

Las cadenas de valor modernas son cada día más difíciles de gestionar y crean grandes riesgos de negocio.

Las infraestructuras son fiables y el riesgo se sitúa en los aplicactivos.

(4)

Tres tipos de riesgos con el software aplicativo

Riesgo

Riesgo de Delivery –de Delivery riesgo que añade costes de TI o impide ingresos de negocio por retrasos o cancelación de proyectos.

Riesgo

Riesgo de de Perfomance (Business Case Risk) –Perfomance riesgo que afecta a la calidad del aplicativo entregado. Este está trabajando, pero no como debería. La consecuencia es por ejemplo, que el ROI no funciona.

Riesgo

Riesgo de de Oportunidad (Business Opportunity Risk) –Oportunidad

riesgo que hace que un aplicativo sea difícil de cambiar y/o mantener. La pérdida de reactividad supone pérdidas para el negocio.

(5)

Gestionar los riesgos del software

Manejar el RiesgoRiesgo de Delivery no sirve si el aplicativode Delivery

se comporta de forma imprevisible, falla o funciona fuera de lo esperado. Este riesgo se gestiona con procesos.

Riesgo

Riesgo de de PerfomancePerfomance y y RiesgoRiesgo de de OportunidadOportunidad

tienen que ver con el propio software (el producto -activo de la empresa) y necesitan una disciplina de gestión, herramientas y métodos adecuados.

(6)

Definir la calidad del software (1)

Functional Quality

Functional Quality – Mide lo que hace el software con

respecto a lo que se ha definido.

Non

Non--Functional Quality – Mide cómo de bien lo haceFunctional Quality

con respecto a lo previsto.

Structural Quality

Structural Quality – Mide cómo de bien lo seguirá

(7)

Definir la calidad del software (2)

Estas tres definiciones tienen que ver con el propio software (el producto) y no con el método con el cúal se ha definido y construido.

Las dos primeras se centran en el comportamiento visible del software, sin poder explicar ese comportamiento .

La calidad estructural (Structural Quality) mide cómo el producto se ha diseñado y codificado utilizando prácticas reconocidas en industria. Estas prácticas promocionan la seguridad, la fiabilidad y la mantenibilidad del software.

(8)

El reto de la calidad estructural del software

Los aplicativos modernos son capa, lenguaje y multi-plataforma. Su análisis tiene que ser global (holística), por lo que no se trata sólamente de revisar código.

Además de poder analizar muchas tecnologías y lenguajes, se debe de poder determinar las raíces de los problemas y reportar riesgos por tipos y niveles.

El reto fundamental de la calidad del software es que sea contextual. La calidad de un solo componente depende de su entorno local y global.

Analizar la calidad de un aplicativo moderno en el contexto de multiple conexiones con otros códigos, base de datos, middleware y APIs es muy complejo y solo puede realizarse de forma automatizada.

(9)

Teniendo en cuenta el sistema entero

Database

Capa de Gestión de datos

EJB – Hibernate - Ibatis

Databases Databases Files Files Web Services CICS Connector Aplicaciones empresariales

Herencia de las aplicaciones

Middleware Capa de Presentación Capa de Lógica de negocio Capa de Datos

CAST analiza seg

CAST analiza segúún este modelon este modelo

Aplicaciones Web / Cliente Servidor

ASP/JSP/VB/.NET

Lógica de aplicación

Java, C++, …

Frameworks Struts MVC, Spring

COBOL COBOL

CICS Monitor (Cobol) Tuxedo Monitor (C)

Batch Shell Scripts

(10)

Análisis de la calidad de software (ISO 9126 - 3) Transferencia Cambio Robustez Rendimiento Tamaño Nomenclatura Documentación Arquitectura Complejidad

Nomenclatura de los paquetes Nomenclatura de las clases Nomenclatura de la interfaz

Paquete de comentarios Clases de comentarios Métodos de comentarios Tamaño del paquete Tamaño de las clases (métodos) Tamaño de la interfaz Clase de complejidad (Inh. depth)

Clase de complejidad (Inh. width) Artefactos con llamadas recursivas Control de Flujos Mantenimiento Seguridad Prácticas de programación Archivo de conformidad Código muerto Acceso a los datos controlado Desestructurado Modularidad Encapsulación de la conformidad Código vacío Herencia Elementos de riesgo Elementos de coste A n a li z a m á s d e 8 0 0 e s p e c if ic a c io n e s d e a rq u it e c tu ra y l e n g u a je s d e c ó d ig o Factores de Salud Criterios

Subconjunto de métricas Calidad de la aplicación

Varios artefactos actualizando la misma tabla SQL Acoplamiento de distribución SQL de Compleja distribución

(11)

CISQ (Consortium for IT Software Quality)

Creado conjuntamente por SEI & OMG. CISQ objectivos clave :

Desarrollar un estandard computable para usar en la evaluación del software aplicativo por organizaciones IT.

Desarrollar un sistema de scoring utilizable en la negociación y la gestión de la venta,la adquisición y el mantenimiento de software aplicativo.

Miembros: Organizaciones con grandes departamentos IT, Integradores de Sistemas, Outsourcers, ISVs y vendedores de soluciones aplicativas.

(12)

Para resumir

El Riesgo de fallo del SI puede dañar seriamente la reputación y/o la rentabilidad de une empresa. Sin medir la calidad interna de los aplicativos, estos riegos pueden quedarse escondidos detrás de un reporting que no revela el peligro.

Una calidad aplicativa pobre puede crear problemas en el futuro que afectarán al negocio. En general estos problemas no se detectan durante la fase de pruebas.

(13)

Los aplicativos de negocio deben mejorar su calidad Bajo Alto Alto Calidad de Software Riesgo operacional Defense and Aerospace Software Business Applications Embedded Software 1980’s 1990’s 2000’s

(14)

Ejemplo de impacto sobre el riesgo operacional 0 4,000 8,000 12,000 16,000 20,000 R4 R5 R6 R7 0 100 200 300 400 500 600 700 800 900

New code level

Violations Added AT&T Code Defects C A S T V io la ti o n s A d d e d D e fe c ts A d d e d Releases

(15)
(16)

Integradores de Sistemas usan y recomiendan CAST

CSC AIC Services for Client value Creation

Como un agente de industrialización

Certificación de Calidad basada en la plataforma de CAST

Para el Desarrollo de Nuevo Negocio

(17)

¡

Referencias

Documento similar

Las especificaciones del consumidor deben ser transformadas en especificaciones técnicas como base para la fabricación del producto.  Despliegue de la función de

El Estándar BNCR-72 para Métricas de Software define las métricas de productividad y calidad que se deben llevar para los proyectos de desarrollo y mantenimiento de software

Un sistema de gestión de la calidad es una estructura operacional de trabajo, bien documentada e integrada a los procedimientos técnicos y gerenciales, para guiar las acciones de

Introducción a la Gestión de Calidad de Software – © 2004-2008 Pablo Straub Página 3-1.. Gestión de Requisitos Organización

El aseguramiento de la calidad del software es el sistema de métodos y procedimientos empleados para asegurar que el producto software satisface sus requisitos.

Una vez analizados los puntos más importantes relacionados con la calidad, hemos estudiado diferentes modelos de calidad y estándares que ayudan a las organizaciones a

Debe definir los atributos de calidad a considerar para el sistema a desarrollar, e indicar cómo medir dichos atributos... Unidad 5 - Calidad del Software 15 Control de

Dichas actividades comprenden la garantía de la calidad que establecen los estándares para el desarrollo del software, la planificación de la calidad y el control de la calidad