Sunteți pe pagina 1din 43

Profesores

Sergio Zapata
Marita Romagnano
Magdalena Arrn
https://ingenieria-de-software-iii-2016.wikispaces.com/
Qu esperan aprender?
Qu contenido debera tener esta
materia?
Es importante esta temtica? Por qu?
CALIDAD DE SOFTWARE
Objetivosdel Curso

Formar al alumno en los procesos, mtodos, tcnicas


y herramientas que colaboren en la produccin de
software de alta calidad.

Adicionalmente perfeccionar en el alumno las habilidades de: |


Autodeterminacin, Autonoma.
Lectura del idioma ingls.
Trabajo en equipo.
Disciplina, orden, prevencin.
Responsabilidad social.
Visin Global del Programa de la Carrera

Diseo

Anlisis Programacin

Gestin, Planificacin, Medicin (Tamao,


costo, etc.) , Testing, Configuracin,
Usabilidad, etc.
Justificacin de la temtica del Curso
Uno de los problemas ms extendidos que existen
en el medio respecto del desarrollo de software es
la falta de aplicacin de tcnicas que produzcan
software de calidad. (A pesar que de su existencia.)
Modalidad del curso
Se emplear la modalidad basada en clases tericas y
prcticas. El curso tendr las siguientes caractersticas:

Trabajos grupales, la mayora.


La mayor cantidad de contenido prctico posible.
Seguimiento grupal e individual para determinar
la evaluacin final de los alumnos.
Evaluacin de la participacin de los alumnos.
Algunos trabajos en forma individual de los
alumnos.
Temticas a abordar en el curso

Calidad
Ingeniera de Requisitos de sw. Calidad de Requisitos.
Estimacin de tamao de software
Validacin y Verificacin de software.
Verificacin Formal de programas
Administracin de Riesgos de software
Modelos de Procesos: CMMI.
Satisfaccin de clientes/usuarios de software
Regularidad
El alumno obtendr la regularidad con la aprobacin de:
I. trabajos prcticos
II. dos evaluaciones parciales.

El primer examen evaluar (estimacin):


Calidad
Ingeniera de Requisitos.
Validacin y Verificacin.
El segundo examen parcial evaluar (estimacin):
Estimacin de Tamao de software. Puntos de Funcin.
Anlisis y Administracin de Riesgos de Software.
CMMI / MOPROSOFT.

Para la aprobacin definitiva de la asignatura el alumno deber rendir un examen final en el


que se evaluar la madurez de los conocimientos adquiridos durante el curso.
Promocionalidad

Para aprobar el curso bajo el rgimen promocional el alumno deber cumplir


estrictamente con cada uno de los siguientes puntos:
- Tener aprobadas las asignaturas que en el plan de estudios vigente se
mencionan como correlativas a la asignatura Ingeniera de Software III.
- Tener un mnimo de 75% de asistencia a las clases tericas y prcticas.
- Aprobar la totalidad de los prcticos con nota superior o igual a siete (7).
- Aprobar las dos evaluaciones parciales en orden cronolgico secuencial, tal
cual lo exige la normativa 1/92, con nota superior o igual a siete (7).
- Aprobar una evaluacin integradora, , tal cual lo exige la normativa 1/92, al
finalizar la asignatura con nota superior o igual a siete (7).
Bibliografa
Calidad Estratgica total: Total Quality Management. Rico.

Metrics and Models in software Quality Engieering. Kan.

Secret of Software Quality. Kaplan, Clark, Tang.

The Capability Maturity Model, guidelines for improving the software Process. SEI.
Object-Oriented Software Construction. Meyer.

Aplication of the ISO 9000 Aproach to building Quality Software. Oskarsson, Glass.
Software Quality Management and ISO 9000.

CMMI Distelled, A practical Introduction to Integrated Process Improvement.Aaron


Clouse.

Real Process Improvement Using the CMMI, Michael West.

CMMI Guidelines for Process Integration and Product Improvement. Chrissis, Konrad,
Shrum.
Software Quality Engineering, Jeff Tian.
Software Factory !!!!
???
Es similar fabricar software que fabricar automoviles?
Qu diferencias encuentra?
El software se desarrolla. No se fabrica en un sentido
clsico.
costos radican en la ingeniera (reproducir es gratis!)
La mayora del software se construye (todava) a
medida, en lugar de ensamblar componentes existentes.
Los programadores subestiman por lo general el
problema a resolver (o se sobrestiman a s mismos)
El software no se rompe: su mantenimiento est
destinado no a re-establecer el estado inicial, sino a
llevar al sistema a un nuevo estado, sin errores.
Situacin Actual (Callo & Wireless)

El 90 % de los proyectos no alcanzan los objetivos.


El 40 % fracasan por completo (requisitos, tiempo, costo)
El 29 % no se entregan nunca.
40% a 70% del gasto en sw es en mantenimiento.
Alto Costo de demanda y litigios legales por incumplimientos.
Planificar? Para qu?

Es mejor ponerse a hacer las cosasvamos a los bifes


vamos al grano
idea
Programar

Testear

Entregar
No se realiza planificacin.
Se comienza a escribir cdigo rpidamente.
Solo apropiado para proyectos muy simples y sencillos.
(acadmicos)
Calidad del producto suele ser baja.
Cdigo es difcil de mantener por falta de documentacin del
diseo.
La Ingeniera de Software es la
aplicacin de un enfoque
sistemtico, disciplinado y
cuantificable al desarrollo, operacin
y mantenimiento del software.
IEEE Std. 610.12-1990
Mtodos que indican cmo construir tcnicamente el software.
Mtodos de planificacin y estimacin de proyectos
Mtodos de anlisis de requisitos
Mtodos de diseo de estructuras de datos, etc.
Procesos que definen la secuencia en la que se aplican los
mtodos, las entregas que se requieren, los controles que ayudan a
asegurar la calidad.
Herramientas que suministran un soporte automtico o
semiautomtico para los mtodos (herramientas CASE).
La disciplina es relativamente nueva, comparada con
otras ingenieras, y muchos conceptos importantes
estn inmaduros.

El software es intangible y no est limitado por las


leyes de la fsica. Es ms difcil de evaluar
objetivamente.

No hay, todava, un cuerpo de conocimientos


universalmente aceptado.

Aunque ya hay estndares, hay pocas presiones del


Una secuencia de pasos realizados
con un propsito determinado (IEEE
Std. 610).

El conjunto de actividades, mtodos


y prcticas usadas en la produccin y
evolucin del software (SEI CMM).
Muchas organizaciones estn centradas en el
producto o resultado. En esos ambientes, la
gente pone ms nfasis en cosas concretas. Se
espera que la salida de cualquier actividad tome
una forma tangible. Se puede confundir un
documento del proceso como el proceso. En esas
organizaciones hay resistencia a las actividades
que no contribuyen directamente a objetivos de
corto plazo, y muchas veces se posponen hasta
que no haya actividades crticas.
Visin Popular de la Calidad:
No definida. Subjetiva.
Ambigua, no cuantificable, ni medida.
Relacionada con calificativos como lujoso,
complejo, caro.

Visin Profesional (Cientfica):


Claramente definida. Objetiva.
Mensurable (cuantificable)
Definicin de Calidad
Crosby: "Conformidad a los requerimientos".
Implica (necesita) claridad absoluta en los requerimientos.

Juran: "Adecuado (fitness) para usar".


Avanza un poco ms y hace intervenir al usuario, es decir ya no
son los requerimientos en general, sino los requerimientos del usuario.

Para el Cliente: La calidad es el valor que l percibe del producto que compr segn
una serie de parmetros de precio, performance, confiabilidad y satisfaccin.
Evolucin Histrica del concepto Calidad
Calidad de Software (Kan)
Small q = Calidad de Producto

Big Q = Calidad de Producto + Calidad de Proceso +


Satisfaccin del cliente
Mtricas para big Q
Qu medimos de producto:
Defecto por miles de lneas
Defecto por cantidad de horas de operacin.
Tiempo medio entre fallas.
Qu medimos de Proceso:
Efectividad de remocin de defectos
Qu medimos de Satisfaccin del cliente:
Interfaz, Tiempo de Respuestas, etc.
Calidad de Software (Pressman)

Concordancia del software con:


-los requisitos funcionales y de rendimiento explcitamente
establecidos
-con los estndares de desarrollo explcitamente documentados y
- con las caractersticas implcitas que se espera de todo software
desarrollado profesionalmente . R. S. Pressman (1992).

El conjunto de caractersticas de una entidad que le confieren su


aptitud para satisfacer las necesidades expresadas y las implcitas
ISO 8402 (UNE 66-001-92).
Teniendo en cuenta la definicin de Crosby o Juran,
en la industria de software adquiere gran
importancia la etapa de definicin de requisitos.

Kan: La calidad de producto, la calidad de


proceso y la satisfaccin del cliente constituyen el
significado total de calidad

Dilema (?) : Calidad de Proceso vs. Calidad de Producto


La calidad de un producto es alta si
responde o supera nuestras
expectativas de usuario. La calidad es
baja en caso contrario.
Hace lo que el usuario quiere?
Le soluciona el problema que intenta
resolver?
Lo hace como el usuario quiere?
Es factible de construir?, de mantener
(corregirlo, expandirlo, mejorarlo)?
Se lo puede construir rpidamente, con
costo accesible, y en forma segura?
Se puede todo a la vez?
Lo modifiqu, Sigue funcionando bien?
Cmo comprobamos si un software es
de calidad?
La calidad se mide de manera indirecta, nos
concentramos en ciertos atributos y en cmo
medirlos.
Para medir la calidad existen diferentes
Modelos: Boehm, McCall, ISO, Barbacci/SEI.
Caractersticas de la calidad del software
Funcionalidad
Confiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
Definicinde McCall Definicin de Boehm
Usabilidad Confiabilidad
Integridad Portabilidad
Eficiencia
Eficiencia
Correctitud
Confiabilidad Facilidad de Prueba
Facilidad de Facilidad de Aprendizaje
Mantenimiento Facilidad de mantenimiento
Facilidad de Prueba
Modificaciones
Flexibilidad
Facilidad de Reuso
Portabilidad
Interoperabilidad
Conflicto entre factores

Usabilidad <=> performance ?


Confiabilidad <=> performance ?
Funcionalidad <=> documentacin, mantenibilidad ?
Factores de Calidad Externos: perceptibles
directamente por el usuario final. (Correctitud,
facilidad de uso, extensibilidad, etc).

Factores de Calidad Internos: perceptibles por


profesionales informticos. (Legibilidad,
modularidad, extensibilidad, etc.).
Correctitud
Es la capacidad del producto de software para
efectuar exactamente sus tareas, como fueron
definidas por los requerimientos y la
especificacin.
Robustez
Es la capacidad del sistema de software para
funcionar aun en condiciones anormales.

Extensibilidad
Es la facilidad con la cual el producto de software
puede adaptarse a cambios en la especificacin.
Reusabilidad Es la capacidad del producto de
software a ser reusado, en parte o totalmente, en
nuevas aplicaciones.

Compatibilidad
Es la facilidad con que el producto de software
puede ser combinado con otros.

Eficiencia
Es el buen uso de los recursos de hardware
(procesador, memorias, dispositivos I/O).
Portabilidad
Es la facilidad con la cual los productos de software
pueden ser transferidos a distintos mbientes de hardware
y software.

Integridad
Es la capacidad del sistema de software de proteger sus
distintos componentes ( programas, datas, documentos)
contra accesos y modificaciones no autorizadas.

Facilidad de Uso
Es la facilidad de aprendizaje del uso del sistema de
software (operacin, preparacin de datos de entrada,
interpretacin de resultados, recuperacin desde errores
usuales).
Cundo queremos medir calidad de
software donde hacemos foco: en el
proceso, en el producto o en la
satisfaccin del usuario?
Calidad de Software
Small q = Calidad de Producto

Big Q = Calidad de Producto + Calidad de Proceso +


Satisfaccin del cliente
Caractersticas o propiedades esperadas de un software de
calidad segn distintos puntos de vista (Kitchenham y Pfleeger)

Proceso: conformidad a los procesos estndares.

Producto: foco sobre las caractersticas inherentes del producto


(Mejora en indicadores de calidad internos repercute positivamente en los
externos).

Usuario: adaptacin a los propsitos o necesidades del usuario. El


sw efecta las funciones correctas como fueron especificadas y
adems lo hace confiablemente.
Esto es todo Amigos

S-ar putea să vă placă și