• 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 revisiones del software juegan un papel fundamental en el control de la calidad, son un filtro en el proceso de ingeniería de software aplicadas en varios momentos de

Siguiendo todos estos pasos logramos obtener un software con alta calidad, en nuestra tesis a la hora de realizar el análisis y diseño del software, lo hicimos guiándonos

Aparece una breve panorámica acerca de la gestión de calidad de software en el mundo, del proceso de pruebas y específicamente la aplicación de pruebas de sistema, así como los

Después de haber realizado un estudio detallado de la documentación recopilada acerca de la calidad del software, podemos decir que para lograr un software de alta calidad

A raíz de esto, el objeto de estudio será los medios para el aprendizaje de Gestión de la Calidad de Software en la UCI y como campo de acción, el proceso

Se identifican las principales incidencias que afectan la calidad del software en la UCI, con el objetivo de mantener bajo control cada proceso y eliminar las causas de

En este capítulo se aborda de forma general los aspectos relacionados con la calidad de Software, situación actual, factores que determinan la calidad de un producto, vinculación

Elegir la mejor forma de representar la información, y crear un estándar para ello que garantice el trabajo uniforme y completo. Seleccionar las o la herramienta con la que se