Software de calidad Cules son las caractersticas que

  • Slides: 18
Download presentation
Software de calidad ¿Cuáles son las características que deseamos al elaborar un software? NZ/EA/abril

Software de calidad ¿Cuáles son las características que deseamos al elaborar un software? NZ/EA/abril 1999 1

Cualidades del software • Correcto Se comporta acorde a su especificación • Confiable Se

Cualidades del software • Correcto Se comporta acorde a su especificación • Confiable Se comporta de acuerdo a lo esperado por el usuario • Robusto Se comporta razonablemente aún en cirscunstancias no contempladas 1999 (tolerante a NZ/EA/abril fallas). 2

Confiabilidad, correctitud y robustez ¿correcto => confiable? • Si, en el caso que la

Confiabilidad, correctitud y robustez ¿correcto => confiable? • Si, en el caso que la especificación capture las propiedades de la aplicación Correcto confiable ¿confiable => correcto? • No necesariamente ¿correcto => ¿confiable =>robusto? ¿robusto => confiable? correcto? NZ/EA/abril 1999 3

Cualidades del software • Reusable Puede integrarse como componente de otros sistemas de software

Cualidades del software • Reusable Puede integrarse como componente de otros sistemas de software Componentes reusables – Librerías científicas – Librerías para el desarrollo de interfaces (MFC de Windows) – Clases. NZ/EA/abril 1999 4

Cualidades del software • Portable Puede ser utilizado en diferentes plataformas NZ/EA/abril 1999 5

Cualidades del software • Portable Puede ser utilizado en diferentes plataformas NZ/EA/abril 1999 5

Cualidades del software • Interoperable Puede coexistir y cooperar con otros sistemas de software.

Cualidades del software • Interoperable Puede coexistir y cooperar con otros sistemas de software. – Las herramientas de ambientes integrados son interoperables – Sistemas abiertos. NZ/EA/abril 1999 6

Cualidades del software • Eficiente Usa los recursos computacionales económicamente – Se mide mediante

Cualidades del software • Eficiente Usa los recursos computacionales económicamente – Se mide mediante técnicas clásicas: • complejidad de algoritmos • evaluación de la eficiencia (monitoreo, simulación, . . ). NZ/EA/abril 1999 7

Cualidades del software • Comprensible – Como cualidad interna: • documentos de análisis y

Cualidades del software • Comprensible – Como cualidad interna: • documentos de análisis y diseño fáciles de entender • código “descifrable” – Como cualidad externa: • relacionado con la usabilidad. NZ/EA/abril 1999 8

Cualidades del software • Usable – La usabilidad de un producto de software está

Cualidades del software • 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 – Diversas cualidades inciden en la usabilidad (eficiencia, confiablidad, . . . ). NZ/EA/abril 1999 9

Cualidades del software • Mantenible Fácil de modificar 20% – Mantenimiento correctivo 20% –

Cualidades del software • Mantenible Fácil de modificar 20% – Mantenimiento correctivo 20% – Manteniendo adaptativo 60% (remoción de errores) (cambios para adecuarlo a modificaciones de su ambiente) – Mantenimiento perfectivo (cambios para mejorar la calidad (satisfacer nuevos requerimientos, aumentar la eficiencia, modificar funcionalidades, etc. ) NZ/EA/abril 1999 10

Medición de cualidades Métricas: • No existen standares aceptados para medir algunas cualidades •

Medición de cualidades Métricas: • No existen standares aceptados para medir algunas cualidades • Area de investigación muy activa NZ/EA/abril 1999 11

Importancia de las cualidades • Al usuario le interesa que el software sea fácil

Importancia de las cualidades • Al usuario le interesa que el software sea fácil de usar, confiable, . . . • Al equipo de desarrollo le interesa que el software sea eficiente, comprensible, portable, . . . NZ/EA/abril 1999 12

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿qué

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿qué otras cualidades ayudan a ello? X Correcto Confiable Robusto . NZ/EA/abril 1999 - Correcto robusto confiable eficiente mantenible verificable usable reusable interoperable portable comprensible incrementable. . . 13

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles otras cualidades ayudan a ello? Correcto X Reusable Eficiente Comprensible NZ/EA/abril 1999 - Correcto robusto confiable eficiente mantenible verificable usable reusable amigable interoperable portable comprensible incrementable. . . 14

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles otras cualidades ayudan a ello? X Eficiente NZ/EA/abril 1999 - Correcto robusto confiable eficiente mantenible verificable usable reusable amigable interoperable portable comprensible incrementable. . . 15

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles otras cualidades ayudan a ello? X Comprensible Mantenible Incrementable NZ/EA/abril 1999 - Correcto robusto confiable eficiente mantenible verificable usable reusable interoperable portable amigable comprensible incrementable. . . 16

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles

Interrelación de cualidades Si se quiere que un software tenga la cualidad X ¿cuáles otras cualidades ayudan a ello? X Confiable Usable Amigable Eficiente . . . NZ/EA/abril 1999 - Correcto robusto confiable eficiente mantenible verificable usable reusable interoperable portable amigable comprensible. . . 17

Cualidades claves (Sommerville Ian) El software debe ser: • Mantenible los cambios puedan ser

Cualidades claves (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 del usuario. NZ/EA/abril 1999 18