28 1 2014 5.3 IS clase1 2 (intoduccion cualidades SW)2005

Texto completo

(1)

Universidad Bolivariana de Venezuela

P.F.G. Informática para la Gestión Social U.C. Ingeniería del software

Septiembre, 2006

Cualidades del Software

(2)

Dra. Nancy Zambrano. Guía de

clases:IS-clase1-2-(introducción-cualidades SW). Centro ISYS Escuela de Computation Facultad de

Ciencias UCV. 2005

 GHEZZI, C., JAZAYERI, M., MANDRIOLI, D. "Fundamentals of Software Engineering".

Prentice-Hall International Editions. 2da ed. Nov. 2002

Bibliografía

(3)

3

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(4)

Mediante un proceso ....

Soportado por un método riguroso, sistemático

Basado en principios reconocidos

Con actividades que se estructuren de acuerdo a un modelo

Facilitado por el uso de herramientas.

¿Cómo obtener software de calidad?

(5)

5

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(6)

Software de calidad

(7)

7

Software de calidad

Software de calidad

El software es construido para cumplir ciertas funcionalidades y satisfacer ciertas cualidades

El proceso de construcción de software debe también cumplir ciertas cualidades.

Cualidades de software son a menudo referidas como requerimientos no funcionales (en

(8)

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(9)

9

El software como producto

El software como producto

 Es diferente a los tipos de productos tradicionales

- intangible

• Dificultades para describir y evaluar

- Maleable

• Sin forma

- Intensivamente humano

(10)

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(11)

11

Clasificación de cualidades

Clasificación de cualidades

Internas vs. externas

- Externas visibles al usuario

- Internas concernientes a los desarrolladores

Producto vs. procesos

- Nuestro objetivo es desarrollar productos de software

- El proceso se refiere a como lo hacemos

(12)

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(13)

13

Software de calidad

Software de calidad

(14)

Características de Calidad de

software

(Normas ISO 9126)

:

(15)

15

Características (ISO 9126)

Subcaracterísticas

Funcionalidad Adecuacidad (Suitability),

exactitud/precisión ( Accurateness),

Interoperable, (Conformidad Compliance ) Seguridad

Confiabilidad Madurez, Tolerancia a Falla, Recuperable

Usabilidad comprensible (Understandability ), de fácil aprendizaje (Learnability ), Operable

Eficiencia Rendimiento en tiempo, rendimiento de Recurso.

Mantenibilidad Analizable, Modificable, Estable, Testability (Prueba)

(16)

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(17)

17

Correcto

Confiable

 Robusto

Se comporta acorde a su especificación

Se comporta de acuerdo a lo esperado por el usuario

Se comporta razonablemente aún en cirscunstancias no contempladas

(tolerante a fallas).

Confiabilidad, correctitud y robustez

(18)

Confiabilidad, correctitud y robustez

Confiabilidad, correctitud y robustez

• Construcciones correctas si ellas satisfacen las

especificaciones

• En un movimiento sísmico unas colapsan (no son robustas)

(19)

19

Correctitud

Correctitud

Software es correcto si satisface las especificaciones de requerimientos funcionales

- (asumiendo que las especificaciones ...)

(20)

Acerca de la correctitud

Acerca de la correctitud

 Es una cualidad absoluta (si/no)

- No hay “grado de correctitud”

¿Que pasa si las especificaciones son erróneas?

(21)

21

Confiabilidad

Confiabilidad

- Informalmente, el usuario confía en el producto

- Si las especificaciones son correctas, todo software correcto es confiable. Pero no a la inversa (en la practica, pueden haber

especificaciones incorrectas....)

- ISO 9127: Confiabilidad: se refiere a la

capacidad de un SW de mantenerse operativo bajo las condiciones establecidas por un

(22)

Confiabilidad, correctitud y robustez

Confiabilidad, correctitud y robustez

¿correcto => confiable? •Si, en el caso que la especificación capture los requerimientos del sistema

¿confiable => correcto? • No necesariamente

Correcto

confiable

¿correcto => robusto? ¿confiable => robusto?

(23)

23

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(24)

Cualidades del software: Cualidades del software:

Reusabilidad

Reusabilidad

 Productos (o componentes) son usados

(probablemente, con pequeños cambios) para construir otros productos

Reuso de partes estandar miden la madurez de una ingeniería

(25)

25

Reusabilidad

Reusabilidad

Reusable

Componentes reusables:

– Librerías científicas

– Librerías para el desarrollo de interfaces (MFC de Windows)

– Patrones

– Especificaciones

(26)

Reusabilidad

Reusabilidad

factor clave para determinar la

madurez de

cualquier industria

“....la IS debe aún evolucionar para alcanzar su

madurez como una disciplina de

“....en el futuro las aplicaciones serán construídas

ensamblando componentes..”

(27)

27

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(28)

Cualidades del software:

Cualidades del software:

Portabilidad

Portabilidad

 El software puede correr en diferentes

plataformas de hardware o ambientes de software

se refiere a la habilidad del sw de ser transferido de un ambiente a otro.

Es una cualidad relevante cuando se introducen nuevas plataformas

(29)

29

Como obtener software de calidad Software de calidad

El software como producto

Clasificación de las Cualidades

¿Que caracteristicas necesarias para lograr la calidad?

Confiabilidad, Correctitud y Robustez Reusabilidad

Portabilidad

Interoperabilidad Mantenubilidad

Contenido

(30)

Cualidades del software:

Cualidades del software:

Interoperabilidad

Interoperabilidad

Interoperable

– Puede coexistir y cooperar con otros sistemas de software

(31)

31

– Se mide mediante técnicas clásicas:

• complejidad de algoritmos

• evaluación de la eficiencia (monitoreo, simulación,..).

Cualidades del software: Cualidades del software:

eficiencia

eficiencia

Software Eficiente:

Usa los recursos computacionales

(32)

Cualidades del software: Cualidades del software:

usabilidad

usabilidad

Usabilidad es una cualidad del software que

tiene múltiples componentes y tradicionalmente es asociado con:

Aprendizaje

Eficiencia

• Memorización

• Baja rata de errores

• Satisfacción

•ISO 9127

Usabilidad: se

refiere al esfuerzo requerido por un conjunto de

usuarios para el uso del sw

¿ Qué es Usabilidad ?

(33)

33

Usabilidad

Usabilidad

Usable

– La usabilidad de un producto de software está determinada por la satisfacción del usuario al utilizar el producto

– Fundamentalmente relacionada con las características de la interfaz de usuario

(34)

Cualidades del software:

Cualidades del software:

Mantenibilidad (Maintainability)

Mantenibilidad (Maintainability)

Mantenibilidad: facilidad de mantenimiento

 Mantenimiento: cambios despues de la liberación del producto

(35)

35

Tipos de Mantenimiento

Tipos de Mantenimiento

Correctivo

(remoción de errores)

Adaptativo

(cambios para adecuarlos a

modificaciones de su ambiente)

Perfectivo

(cambios para mejorar la calidad -satisfacer nuevos requerimientos, aumentar la

(36)

Cualidades del software: Cualidades del software:

Comprensibilidad

Comprensibilidad

(Understandability)(Understandability)

Facilidad de comprender el software

Es una cualidad muy importante, para realizar modificaciones de programa.

(37)

37

Importancia de las cualidades

Importancia de las cualidades

Al equipo de desarrollo le

interesa que el software sea comprensible, portable,

mantenible, verificable ...

(38)

Taxonomía -Según C. Ghezzi & al:

 Calidad Externa: Desde el punto de vista del usuario

 Correcto, Confiable

 Robusto, Fácil de usar  Eficiente

 Calidad Interna: Desde el punto de vista del equipo de desarrollo del sistema

 Verificable, Mantenible, Portable

(39)

39

Ejemplo:

Aplicación 1: Sw de administración de inventario.

Administrar/controlar el registro de efectivo Inventario/existencia de articulos

Orden de pago a los proveedores

Elaborar la data de los clientes.

Aplicación 2: Sw para un satélite.

 Adquisición de data

Transmisión de data

Restricciones en tiempo real

Aplicación1 Características Aplicación2 Funcionalidad

Confiabilidad Usabilidad

Eficiencia Mantenibilidad

(40)

Medición de cualidades

Medición de cualidades

Métricas:

No existen standares aceptados para medir algunas

cualidades

(41)

43

Interrelación de cualidades

Interrelación de cualidades

Si se quiere que un software tenga la cualidad X ¿qué otras cualidades ayudan a ello?

Confiable

Correcto

Robusto

X

(42)

Interrelación de cualidades

Interrelación de cualidades

Si se quiere que un software

tenga la cualidad X ¿cuáles otras cualidades ayudan a ello?

(43)

45

Interrelación de cualidades

Interrelación de cualidades

Si se quiere que un software tenga la cualidad X ¿cuáles otras

cualidades ayudan a ello?

(44)

Interrelación de cualidades

Interrelación de cualidades

Si se quiere que un software tenga la cualidad X ¿cuáles otras

cualidades ayudan a ello?

(45)

47

Cualidades claves

Cualidades claves

(según Sommerville Ian) El software debe ser:

Mantenible

los cambios puedan ser hechos con bajos costos

Confiable

se ejecute de acuerdo a las expectativas

Eficiente

no haga uso excesivo de recursos y no sea lento

Usable

interfaz ajustada a las capacidades y background

Figure

Actualización...

Referencias

Actualización...

Related subjects :