Post on 04-Nov-2018
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
system, the airline said.
El Riesgo del SI
� El Sistema de Información es la maquinaria de lasempresas financieras y arranca elementos críticos de la cadena de valor de la empresa.
� Las cadenas de valor modernas son cada día másdifíciles de gestionar y crean grandes riesgos de negocio.
� Las infraestructuras son fiables y el riesgo se sitúa en los aplicactivos.
Tres tipos de riesgos con el software aplicativo
�� RiesgoRiesgo de Deliveryde Delivery – riesgo que añade costes de TI o impide ingresos de negocio por retrasos o cancelación de proyectos.
�� RiesgoRiesgo de de PerfomancePerfomance (Business Case Risk) – riesgoque 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.
�� RiesgoRiesgo de de OportunidadOportunidad (Business Opportunity Risk) –riesgo que hace que un aplicativo sea difícil de cambiar y/omantener. La pérdida de reactividad supone pérdidas para el negocio.
Gestionar los riesgos del software
� Manejar el RiesgoRiesgo de Deliveryde Delivery no sirve si el aplicativose comporta de forma imprevisible, falla o funcionafuera de lo esperado. Este riesgo se gestiona con procesos.
�� RiesgoRiesgo de de PerfomancePerfomance y y RiesgoRiesgo de de OportunidadOportunidadtienen que ver con el propio software (el producto -activo de la empresa) y necesitan una disciplina de gestión, herramientas y métodos adecuados.
Definir la calidad del software (1)
�� Functional QualityFunctional Quality – Mide lo que hace el software con respecto a lo que se ha definido.
�� NonNon--Functional QualityFunctional Quality – Mide cómo de bien lo hacecon respecto a lo previsto.
�� Structural QualityStructural Quality – Mide cómo de bien lo seguiráhaciendo a lo largo del tiempo.
Definir la calidad del software (2)
� Estas tres definiciones tienen que ver con el propiosoftware (el producto) y no con el método con el cúal se ha definido y construido.
� Las dos primeras se centran en el comportamientovisible del software, sin poder explicar esecomportamiento .
� La calidad estructural (Structural Quality) mide cómo el producto se ha diseñado y codificado utilizando prácticasreconocidas en industria. Estas prácticas promocionan la seguridad, la fiabilidad y la mantenibilidad del software.
El reto de la calidad estructural del software
� Los aplicativos modernos son multi-capa, multi-lenguaje y multi-plataforma. Su análisis tiene que ser global (holística), por lo queno 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 reportarriesgos por tipos y niveles.
� El reto fundamental de la calidad del software es que sea contextual. La calidad de un solo componente depende de suentorno 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.
Teniendo en cuenta el sistema entero
Database
Capa de Gestión de datos� EJB – Hibernate - Ibatis
DatabasesDatabasesFilesFiles
WebServices
CICS Connector
Aplicaciones empresariales
Herencia de las aplicaciones
Middleware
Capa de Presentación
Capa de Lógica de negocio
Capa de Datos
CAST analiza segCAST 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
COBOLCOBOL
CICS Monitor (Cobol) Tuxedo Monitor (C)
BatchShell Scripts
Análisis de la calidad de software (ISO 9126 - 3)
Transferencia
Cambio
Robustez
Rendimiento
Tamaño
Nomenclatura
Documentación
Arquitectura
Complejidad
Nomenclatura de los paquetesNomenclatura de las clasesNomenclatura de la interfaz
Paquete de comentarios Clases de comentarios
Métodos de comentarios
Tamaño del paqueteTamaño de las clases (métodos)
Tamaño de la interfaz
Clase de complejidad (Inh. depth)Clase de complejidad (Inh. width)
Artefactos con llamadas recursivasControl de Flujos
Mantenimiento
Seguridad
Prácticas de programación
Archivo de conformidadCódigo muerto
Acceso a los datos controladoDesestructurado
ModularidadEncapsulación de la conformidad
Código vacío
Herencia
Elementos de riesgo
Elementos de coste
Ana
liza
más
de
800
espe
cific
acio
nes
de a
rqui
tect
ura
y le
ngua
jes
de c
ódig
o
Factores de SaludCriteriosSubconjunto de métricas Calidad de la aplicación
Varios artefactos actualizando la misma tabla SQL
Acoplamiento de distribución
SQL de Compleja distribución
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 vended ores de soluciones aplicativas.
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 riegospueden 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 estosproblemas no se detectan durante la fase de pruebas.
Los aplicativos de negocio deben mejorar su calidad
BajoAlto
Alto
Calidad deSoftware
Riesgo operacional
Defense and
Aerospace
Software
Business
Applications
Embedded
Software
1980’s 1990’s 2000’s
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 levelViolations Added
AT&T Code Defects
CA
ST
Vio
latio
ns
Add
ed
Defects A
dded
Releases
Strong correlation Analysis between CAST violation and client’s defects
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
Auditoría de Aplicaciones basada en la plataforma d e CAST