Está en la página 1de 68

Calidad en el desarrollo de Software

Ing. Alonso Morales Loaiza

Objetivo de la Materia
Introducir al estudiante a las metodologas existentes en la Industria del Software para asegurar la calidad de los proyectos. Desarrollar las habilidades del estudiante para medir sus procesos personales de Software

Podemos iniciar?

Autodiagnstico

De manera individual defina los siguientes conceptos:


Calidad Software Desarrollo Proceso Paradigma

Metodologa UML Madurez Capacidad Modelo

Retroalimentacin

En equipos de 4 personas discuta sus definiciones y lleguen a un consenso.

Contenido Temtico
1.

Ingeniera de Software y Calidad


1.1 Conceptos bsicos de Calidad 1.2 Factores que determinan la calidad del Software 1.3 Caractersticas del Software 1.4 Modelos de desarrollo de Software 1.5 Importancia de las diferentes etapas en el Desarrollo de Software

Contenido Temtico
2. Mtricas y Procesos (PSP)
2.1 Introduccin al Personal Software Process (PSP) 2.2 Estructura del PSP 2.3 Mtricas del PSP

Contenido Temtico
3. CMM-I Capability Maturity Model Integration
3.1 Inmadurez y madurez en los procesos de Creacin de Software 3.2 Los cinco niveles de madurez en los Procesos de Creacin de Software 3.3 Definicin operacional del modelo CMM 3.4 Porqu usar el modelo CMM I?

Unidad I
Ingeniera de Software y Calidad

Objetivo de la Unidad

Introducir al alumno en el anlisis de los diferentes modelos de desarrollo de Software, as como su relacin con los conceptos bsicos de calidad en el desarrollo de sistemas.

1. Ingeniera de SW y Calidad
1.1 Conceptos Bsicos de Calidad

1. 1 Conceptos bsicos de calidad

Clasifique las siguientes marcas en base a su calidad:

1. 1 Conceptos bsicos de calidad

Calidad
Conjunto de propiedades y de
caractersticas de un producto o servicio, que le confieren aptitud para satisfacer unas necesidades explcitas o implcitas. (Norma ISO 9000:8402) Caracterstica o atributo de algo( American Heritage Dictionary).

1. 1 Conceptos bsicos de calidad

Calidad

Caractersticas mensurables: cosas que se pueden comparar con estndares conocidos como: longitud , color, maleabilidad.

1. 1 Conceptos bsicos de calidad

Control de Calidad

Conjunto de tcnicas y actividades de carcter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio

1. 1 Conceptos bsicos de calidad

Qu control de calidad aplicaras, por ejemplo, para comprar un par de zapatos deportivos (tennis)?

1. 1 Conceptos bsicos de calidad

Garanta de calidad

Conjunto de acciones planificadas y sistemticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisface los requerimientos dados sobre calidad.

1. 1 Conceptos bsicos de calidad

Garanta de calidad

En software es un diseo de acciones planificado y sistemtico, que se requiere para asegurar la calidad del software.

1. 1 Conceptos bsicos de calidad

Calidad del Software Es el grado con el que un sistema, componente o proceso cumple con los requerimientos y las necesidades o expectativas del cliente o usuario (IEEE 610/1990)

1. 1 Conceptos bsicos de calidad

Calidad del Software Concordancia del software producido con los requerimientos explcitamente establecidos, con los estndares de desarrollo prefijados y con los requerimientos implcitos no establecidos formalmente que desea el usuario.( Pressman, 2006).

1. Ingeniera de SW y Calidad
1.2 Factores que determinan la calidad del SW

1. 2 Factores que determinan la calidad del software


a) Factores que se pueden medir directamente (objetivo: cualitativo) b) Factores que se pueden medir indirectamente (subjetivo)

1. 2 Factores que determinan la calidad del software


Factores de Calidad de McCall Caractersticas Operativas Capacidad de soportar cambios Adaptabilidad a nuevos entornos

Caractersticas Operativas

Correccin

HACE LO QUE QUIERO?


Hasta donde satisface un programa una especificacin y logra los objetivos del cliente.

Caractersticas Operativas

Fiabilidad

Lo hace de forma fiable todo el tiempo?


Hasta donde se puede esperar que un programa lleve a cabo su funcin pretendida con la exactitud requerida

Caractersticas Operativas

Eficiencia

Se ejecutar en mi HW lo mejor que se pueda?


La cantidad de recursos informticos y cdigo necesaria para que un programa realice su funcin.

Caractersticas Operativas

Seguridad Hasta donde se puede controlar el acceso al software o a los datos por personas no autorizadas.

Es seguro?

Caractersticas Operativas

Usabilidad El esfuerzo necesario para aprender, operar , preparar datos de entrada e interpretar salidas (resultados) de un programa.

Es fcil de manejar?

Capacidad de soportar cambios

Facilidad de mantenimiento El esfuerzo necesario para localizar y arreglar un error en un programa.

Puedo corregirlo?

Capacidad de soportar cambios

Flexibilidad El esfuerzo necesario para modificar un programa operativo.

Puedo cambiarlo?

Capacidad de soportar cambios

Facilidad de prueba El esfuerzo necesario para probar un programa y asegurarse de que realiza la funcin pretendida.

Puedo probarlo?

Adaptabilidad a nuevos entornos

Portabilidad

Podr usarlo en otra mquina?


El esfuerzo necesario para transferir el programa de un entorno de sistema de HW y/o SW a otro.

Adaptabilidad a nuevos entornos

Podr reutilizar alguna parte del software?

Reusabilidad

Hasta donde se puede volver a emplear un programa (o partes de un programa) en otras aplicaciones, en relacin con el empaquetamiento y alcance de las funciones que realiza el programa.

Adaptabilidad a nuevos entornos

Interoperabilidad

Podr hacerlo interactuar con otro sistema?


El esfuerzo necesario para acoplar un sistema con otro.

1. Ingeniera del SW y Calidad


1.3 Caractersticas del SW

1.3 Caractersticas del Software


Crisis del SW Software Caractersticas del SW

Crisis del Software


La industria del software no ha podido satisfacer la demanda.

La complejidad del software producido y demandado se incrementa constantemente.

Crisis del Software


1.

Sntomas

2. 3. 4.

Baja Calidad del Software. Tiempo y Presupuesto Excedido. Confiabilidad Cuestionable. Altos Requerimientos de Personal para desarrollo y mantenimiento.

Crisis del Software


Factores de influencia

1. 2. 3.

Aumento del poder computacional. Reduccin del costo del hardware. Rpida obsolescencia de hardware y software.

Crisis del Software


Factores de influencia

4. 5. 6.

Aceptacin de la computarizacin en las empresas. Incremento en el nmero de usuarios de los sistemas de software. Tipo de usuario no homogneo aun en sistemas hechos a la medida.

Crisis del Software


Factores de influencia

7. 8.

9.

Personal de desarrollado y mantenimiento diferente. La magnitud del proyecto impacta en: a. Tiempo costo y nmero de desarrolladores, b. Control administrativo y detalles tcnicos Aumento en el conocimiento del problema.

Crisis del Software


Factores de influencia

10. Cambios en el entorno:


a. b.

c.
d. e.

Tecnolgicos (Internet,redes,ERP,CRM,SCM..) Econmicos (crisis econmicas, globalizacin,..) Sociales (nuevas necesidades, costumbres nuevas,..) Ambientales (...) ...

Preguntas
1. 2.

3.
4. 5. 6. 7.

Cmo desarrollar software? Cmo dar mantenimiento al creciente volumen de software? Cmo poder mantenerse al corriente a la creciente demanda de software? Porqu lleva tanto tiempo terminar los programas? Porqu tan caro? Porqu no podemos encontrar todos los errores? Porqu es tan difcil evaluar el avance?

Preguntas por equipo:


1.

2.

Cmo desarrollan el software en las organizaciones? Los desarrolladores de hoy en da estn consientes del problema del ciclo de software?

1.3.1 Software
Programas Estructura de datos + algoritmos

Producto de software Conjunto de elementos de software (programas, tablas, reportes, documentacin, etc.) que tienen un propsito especfico y completo desde el punto de vista del usuario, de tal manera que la sustraccin de cualquiera de los elementos del conjunto dara como resultado que el propsito no se cumpliera.

1.3.1 Software

a) b)

c)

Instrucciones (programas de computadora) que cuando se ejecutan proporcionan la funcin y el rendimiento deseados Estructuras de datos que permiten a los programas manipular adecuadamente la informacin Documentos que describen la operacin y uso de los programas.

Productos de Software

Productos genricos (sw de mostrador) Desarrollados por una organizacin para ser vendidos al mercado.

Productos de Software
Productos hechos a medida Desarrollados bajo pedido a una empresa desarrolladora de software.

Productos de Software

La mayor parte del gasto del software es en productos genricos, pero hay ms esfuerzo en el desarrollo de los sistemas hechos a medida.

1.3.2 Caractersticas del SW


Como

Producto Como Proceso Como Proyecto

PRODUCTO

Tiene definidas una fecha de inicio de desarrollo y una fecha esperada o estimada de terminacin. Apoya alguna funcin del usuario hacia el cual est dirigido.

Diferencias como producto


Se desarrolla y no se fabrica como otros productos. No se estropea. No se desgasta. Hecho por humanos.

Atributos de los productos de SW

Facilidad de mantenimiento Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. Confiabilidad El software no debe causar daos fsicos o econmicos en el caso de fallas. Eficiencia El software no debe desperdiciar los recursos del sistema. Utilizacin adecuada El software debe contar tanto con una interfaz de usuario adecuada como con una documentacin clara y precisa.

Importancia de los Atributos del Producto de Software


La importancia relativa de las caractersticas depende del tipo de producto y en el ambiente en el que ser utilizado. En algunos casos, algunos atributos pueden dominar.

En sistemas de seguridad crticos de tiempo real, los atributos clave pueden ser la confiabilidad y la eficiencia.

Los costos tienden a crecer exponencialmente si se requieren altos niveles de alguna caracterstica.

Costos de eficiencia
Costos

Eficiencia

Metas de un producto

Mantenibilidad Usabilidad Confiabilidad Reusabilidad Portabilidad

Productividad Calidad

Costos
Tiempo

Clasificacin del Software


Externas Internas Del producto Del proceso

Propiedades del Software


Correctividad, Confiabilidad, Robustez. Desempeo (performance) Amigabilidad (Uso amigable) Verificabilidad (Facilidad de verificar) Mantenibilidad. Facilidad de mantenimiento: Para su reparacin REPARABILIDAD Para su evolucin VIGENCIA Reusabilidad Portabilidad Comprensibilidad (Comprehensibility): Facilidad de entenderse Interoperabilidad

Formas de categorizar el software:


Por tipo de Aplicacin o Disciplina. Por tipo de Arquitectura Por rea Funcional Por nivel Jerrquico Por tipo de Estructura Organizacional Por Tiempo de Respuesta

Aplicacin o disciplina

Para sistemas Sistemas tiempo real Negocios Ingeniera/cientfico Empotrado (Embebido) PCs Inteligencia artificial Aplicaciones Web.

Tipo de arquitectura
Stand Alone Main Frame Red: LAN, WAN Internet Intranet Extranet

Niveles o reas funcionales


Directivo Administracin

Conocimiento
Operacional
Contabilidad Finanzas Ventas Mercadotecnia Recursos Humanos Manufactura

Niveles o reas funcionales


Directivo Sistema Soporte Ejecutivo (SSE)

Administracin

Sistema Soporte de Decisiones (SSD) Sistema Informacin Admo. (SIA) Sistema de Automatizacin de Oficinas. (SAO) / Apoyo Trabajadores del Conocimiento (SATC) Sistema de Transaccin de Operaciones (STO)

Conocimiento

Operacional

Nivel Jerrquico

Sistema de Transaccin de Operaciones Sistema de Apoyo a Trabajadores del Conocimiento Sistema para la Automatizacin de Oficinas Sistema de Informacin Administrativo Sistema para Soporte de Decisiones Sistema de Soporte Ejecutivo Sistema de Soporte de Grupo Sistema de Soporte Inteligente

Actividad Soportada

Sistemas Operacionales

Sistemas Tcticos

Orientado hacia transacciones diarias.

Sistemas estratgicos

Orientados a apoyar actividades de mandos intermedios: Estadsticas/ Reportes de excepcin/Reportes Peridicos/Anlisis Comparativos/Proyecciones/Deteccin Temprana de Problemas/Decisiones Rutinarias.

Estructura organizacional

Sistemas de Informacin Departamentales

Sistemas de Informacin Empresariales


Sistemas de Informacin Interorganizacionales

Tiempo de Respuesta

Tiempo Real

En lnea
Batch

PROCESO

Caractersticas importantes:
Productividad Calendarizacin Visibilidad

También podría gustarte