calidad de software -...

80
Calidad en los Productos de Calidad en los Productos de Software Software DIPLOMADO EN PLANEACI DIPLOMADO EN PLANEACI Ó Ó N Y N Y DIRECCI DIRECCI Ó Ó N DE OPERACIONES N DE OPERACIONES MODULO IV. GESTI MODULO IV. GESTI Ó Ó N DE LA CALIDAD N DE LA CALIDAD Silvia Silvia Guardati Guardati Departamento Acad Departamento Acad é é mico de Computaci mico de Computaci ó ó n n Instituto Tecnol Instituto Tecnol ó ó gico Aut gico Aut ó ó nomo de M nomo de M é é xico xico

Upload: lenhi

Post on 19-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

Calidad en los Productos de Calidad en los Productos de SoftwareSoftware

DIPLOMADO EN PLANEACIDIPLOMADO EN PLANEACIÓÓN Y N Y DIRECCIDIRECCIÓÓN DE OPERACIONES N DE OPERACIONES

MODULO IV. GESTIMODULO IV. GESTIÓÓN DE LA CALIDADN DE LA CALIDAD

Silvia Silvia GuardatiGuardati

Departamento AcadDepartamento Acadéémico de Computacimico de Computacióónn

Instituto TecnolInstituto Tecnolóógico Autgico Autóónomo de Mnomo de Mééxicoxico

Page 2: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 22

MotivaciMotivacióónnEl uso de computadoras en sistemas crEl uso de computadoras en sistemas crííticos ticos se ha incrementado y, por lo tanto, las se ha incrementado y, por lo tanto, las computadoras ya han computadoras ya han ““protagonizadoprotagonizado””accidentes. accidentes.

La calidad de los productos de software La calidad de los productos de software influyen en nuestras vidas influyen en nuestras vidas ……

Page 3: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 33

Accidentes que involucran:Accidentes que involucran:

Salud de los seres humanosSalud de los seres humanosSistemas nuclearesSistemas nuclearesNaves espacialesNaves espacialesDinero (Bancos)Dinero (Bancos)Relaciones, negocios (Comunicaciones)Relaciones, negocios (Comunicaciones)……

Page 4: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 44

Salud de los seres humanosSalud de los seres humanos

MMááquina para terapia de radiaciquina para terapia de radiacióón, llamada n, llamada TheracTherac--25 (dise25 (diseññada por: ada por: AtomicAtomic EnergyEnergyCommissionCommission LimitedLimited, AECL) ., AECL) .Se instalaron 11 Se instalaron 11 TheracTherac--25: 5 en EUA y 6 en 25: 5 en EUA y 6 en CanadCanadáá. . Entre junio de 1985 y enero de 1987 se Entre junio de 1985 y enero de 1987 se registraron 6 accidentes por sobredosis, que registraron 6 accidentes por sobredosis, que terminaron con daterminaron con dañños muy serios, e inclusive, la os muy serios, e inclusive, la muerte de pacientes.muerte de pacientes.

Page 5: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 55

KennestoneKennestone Regional Regional OncologyOncologyCenterCenter ((MariettaMarietta, Georgia), Georgia), 1985, 1985Una mujer de 61 aUna mujer de 61 añños con cos con cááncer de mama. ncer de mama.

Durante el tratamiento sufriDurante el tratamiento sufrióó lesiones. Los lesiones. Los mméédicos lo adjudicaron a las consecuencias dicos lo adjudicaron a las consecuencias ““normalesnormales”” del tratamiento. del tratamiento.

Posteriormente el mPosteriormente el méédico de dico de KennestoneKennestone estimestimóóque ella recibique ella recibióó 1 o 2 dosis de radiaci1 o 2 dosis de radiacióón entre los n entre los 15,000 a 20,00015,000 a 20,000--radrad ((radiationradiation absorbed absorbed dosedose). ).

La dosis tLa dosis tíípica de estos tratamientos estpica de estos tratamientos estáá en el en el rango de 200rango de 200--rad.rad.

Page 6: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 66

KennestoneKennestone Regional Regional OncologyOncology……

Dosis de 1,000 Dosis de 1,000 radsrads o mo máás pueden ser fatales si se s pueden ser fatales si se suministran en todo el cuerpo (se supone que 500 suministran en todo el cuerpo (se supone que 500 radsradsen todo el cuerpo causa muerte en el 50% de los casos). en todo el cuerpo causa muerte en el 50% de los casos).

Las consecuencias de una sobredosis en una porciLas consecuencias de una sobredosis en una porcióón n pequepequeñña del cuerpo depende del tejido en el cual se a del cuerpo depende del tejido en el cual se aplique.aplique.

La paciente sufriLa paciente sufrióó la pla péérdida completa de su seno, el uso rdida completa de su seno, el uso de su hombro y de su brazo, por las quemaduras. de su hombro y de su brazo, por las quemaduras.

Page 7: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 77

OntarioOntario CancerCancer FoundationFoundation, , 19851985

Una mujer de 40 aUna mujer de 40 añños con cos con cááncer de ncer de úútero. tero.

El operador activa la mEl operador activa la mááquina, se despliega un error y un quina, se despliega un error y un mensaje indicando que no se aplicmensaje indicando que no se aplicóó ninguna dosis a la ninguna dosis a la paciente.paciente.

El operador hizo otros 4 intentos, todos con el mismo El operador hizo otros 4 intentos, todos con el mismo resultado.resultado.

Posteriormente la paciente se queja de fuertes dolores en la Posteriormente la paciente se queja de fuertes dolores en la cadera, hinchazcadera, hinchazóón y quemaduras. Pocos dn y quemaduras. Pocos díías despuas despuéés la s la hospitalizan como consecuencia de la radiacihospitalizan como consecuencia de la radiacióón recibida. n recibida.

Page 8: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 88

OntarioOntario CancerCancer FoundationFoundation, , 19851985

La paciente muriLa paciente murióó 3 meses despu3 meses despuéés por cs por cááncer. Aunque, ncer. Aunque, como resultado de la autopsia, se pudo notar que tencomo resultado de la autopsia, se pudo notar que teníía a las caderas totalmente dalas caderas totalmente daññadas por la sobredosis.adas por la sobredosis.

Se estimSe estimóó que la paciente recibique la paciente recibióó entre 13,000 y 17,000 entre 13,000 y 17,000 radsrads. .

Investigaciones detectaron fallas en el software.Investigaciones detectaron fallas en el software.

Page 9: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 99

EastEast Texas Texas CancerCancer CenterCenter, 1986, 1986Hombre con cHombre con cááncer en la espalda.ncer en la espalda.El paciente recibiEl paciente recibióó una sobredosis en el centro del una sobredosis en el centro del áárea tratada.rea tratada.Investigaciones posteriores hacen suponer que Investigaciones posteriores hacen suponer que recibirecibióó de 16,500 a 25,000 de 16,500 a 25,000 radsrads en menos de un en menos de un segundo en un segundo en un áárea de aproximadamente 1 cm. rea de aproximadamente 1 cm. El paciente comenzEl paciente comenzóó a sufrir dolores en el cuello y a sufrir dolores en el cuello y hombro. Perdihombro. Perdióó la movilidad en su brazo izquierdo.la movilidad en su brazo izquierdo.Posteriormente es hospitalizado por diferentes Posteriormente es hospitalizado por diferentes problemas surgidos a partir de la sobredosis: problemas surgidos a partir de la sobredosis: parparáálisis de ambas piernas, lesiones en el pulmlisis de ambas piernas, lesiones en el pulmóón n izquierdo, etc.izquierdo, etc.MuriMurióó 5 meses despu5 meses despuéés a causa de las s a causa de las complicaciones originadas por la sobredosis.complicaciones originadas por la sobredosis.

Page 10: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1010

EastEast Texas Texas CancerCancer CenterCenter, 1986, 1986

Hombre con cHombre con cááncer de piel, en la cara.ncer de piel, en la cara.La operadora activa la mLa operadora activa la mááquina. quina. ÉÉsta sta marca un error y el paciente recibe una marca un error y el paciente recibe una sobredosis.sobredosis.Consecuencia: daConsecuencia: dañños neurolos neurolóógicos.gicos.El paciente muere 3 semanas despuEl paciente muere 3 semanas despuéés del s del accidente. accidente.

Page 11: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1111

YakimaYakima ValleyValley Memorial Memorial Hospital (Hospital (Washington)Washington), 1985., 1985.

2 accidentes de sobredosis registrados2 accidentes de sobredosis registrados……

Page 12: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1212

En En PanamPanamá…á…

En el En el aaññoo 2000 2000 casicasi 30 30 pacientespacientes del del InstitutoInstitutoNacionalNacional de de CCááncerncer fueronfueron expuestosexpuestos a a sobredosissobredosis de de rayosrayos gamma gamma debidodebido a a erroreserrores en en el software el software queque controlabacontrolaba unauna mmááquinaquina paraparaterapiasterapias de de radiacionesradiaciones..MurieronMurieron 21 21 pacientespacientes: : porpor lo lo menosmenos 5 5 porporcausacausa de la de la sobredosissobredosis..OtrosOtros 15 15 sufrieronsufrieron complicacionescomplicaciones porpor la la mismamismacausacausa..

Page 13: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1313

Errores en el softwareErrores en el softwareProductos de software muy complejos pueden Productos de software muy complejos pueden comportarse de manera inesperada bajo ciertas comportarse de manera inesperada bajo ciertas condiciones. condiciones.

Los errores en la mLos errores en la mááquina quina TheracTherac--25 involucran 25 involucran prpráácticas pobres y/o malas de ingeniercticas pobres y/o malas de ingenieríía de a de software. software.

Es importante seEs importante seññalar que los errores de disealar que los errores de diseñño del o del sistema, generalmente, son msistema, generalmente, son máás importantes que s importantes que los errores de codificacilos errores de codificacióón.n.

En los casos aquEn los casos aquíí reportados los errores pudieron reportados los errores pudieron evitarse, y tambievitarse, y tambiéén sus consecuencias n sus consecuencias ……

Page 14: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1414

Naves espaciales (1)Naves espaciales (1)ARIANE 5 (Agencia Espacial Europea): ARIANE 5 (Agencia Espacial Europea): en junio en junio de 1996, su primer vuelo terminde 1996, su primer vuelo terminóó con un fracaso. con un fracaso.

LlevLlevóó una duna déécada de trabajo desarrollarlo. cada de trabajo desarrollarlo.

CostCostóó: : $7 $7 billionbillion..

DespuDespuéés de 40 segundos de haber iniciado el vuelo, s de 40 segundos de haber iniciado el vuelo, a 3700 a 3700 mtsmts, explot, explotóó..

La falla se debiLa falla se debióó a un error en las especificaciones y a un error en las especificaciones y el diseel diseñño del software (conversio del software (conversióón de nn de núúmeros). meros).

Page 15: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1515

Naves espaciales (2)Naves espaciales (2)En 1998 se pierde contacto con el observatorio Solar y En 1998 se pierde contacto con el observatorio Solar y HeliosfHeliosfééricorico (SOHO).(SOHO).

En 1999 la sonda En 1999 la sonda MarsMars ClimateClimate OrbiterOrbiter de los EUA de los EUA desaparece mientras orbita el planeta Marte, minutos desaparece mientras orbita el planeta Marte, minutos despudespuéés de haberse realizado una correccis de haberse realizado una correccióón de n de óórbita desde rbita desde el control de misiel control de misióón en Tierra. n en Tierra.

En 1999 fue lanzada al espacio la sonda interplanetaria En 1999 fue lanzada al espacio la sonda interplanetaria norteamericana norteamericana MarsMars Polar Polar LanderLander. Poco despu. Poco despuéés se s se destruydestruyóó..

En estos tres casos el origen del accidente es un error En estos tres casos el origen del accidente es un error en productos de software utilizados.en productos de software utilizados.

Page 16: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1616

MisilesMisiles

En 1991, durante la Guerra del Golfo, una En 1991, durante la Guerra del Golfo, una baterbateríía de misiles a de misiles PatriotPatriot en en DharanDharan ((SaudiSaudiArabia) fallArabia) fallóó en interceptar un misil Iraquen interceptar un misil Iraquíí ScudScud..El misil El misil ScudScud estallestallóó en una barraca de la en una barraca de la armada Americana, matando 28 soldados y armada Americana, matando 28 soldados y lesionando otras 100 personas. lesionando otras 100 personas. Las investigaciones realizadas reportan la causa Las investigaciones realizadas reportan la causa del accidente como una falla del software del accidente como una falla del software (c(cáálculo del tiempo para interceptar el misil lculo del tiempo para interceptar el misil enemigo).enemigo).

Page 17: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1717

Comentarios (1)Comentarios (1)El El ccóódigodigo inmersoinmerso en el motor de un auto, o en un en el motor de un auto, o en un brazobrazo robrobóóticotico en en unauna ffáábricabrica o en un o en un dispositivodispositivomméédicodico puedepuede matarmatar. .

La mayorLa mayoríía de los accidentes, son accidentes del a de los accidentes, son accidentes del sistema: involucran la interaccisistema: involucran la interaccióón entre distintos n entre distintos componentes. componentes.

Adjudicar una sola causa a un accidente, normalmente Adjudicar una sola causa a un accidente, normalmente es un serio error.es un serio error.

Se deben analizar todos los componentes y la Se deben analizar todos los componentes y la interacciinteraccióón entre ellos para entender qun entre ellos para entender quéé causcausóó el el accidente y poder prevenir otros. accidente y poder prevenir otros.

Page 18: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1818

Comentarios (2)Comentarios (2)El software es la expresiEl software es la expresióón detallada de un disen detallada de un diseñño.o.

El software es un producto flexible y expresivo que El software es un producto flexible y expresivo que permite cubrir los requerimientos establecidos. permite cubrir los requerimientos establecidos.

El software crEl software críítico debe analizarse a un nivel bien tico debe analizarse a un nivel bien detallado de tal manera que los comportamientos detallado de tal manera que los comportamientos excepcionales puedan preverse y tomar las medidas excepcionales puedan preverse y tomar las medidas convenientes. convenientes.

Tomar algunos cursos de programaciTomar algunos cursos de programacióón no habilita a n no habilita a nadie para desarrollar software crnadie para desarrollar software críítico.tico.

Page 19: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 1919

Comentarios (3)Comentarios (3)Se estSe estáá trabajando en algunos patrabajando en algunos paííses para exigir que ses para exigir que los ingenieros que desarrollen este tipo de software se los ingenieros que desarrollen este tipo de software se certifiquen para ello. certifiquen para ello.

Accidentes como los que se mencionaron aquAccidentes como los que se mencionaron aquíí, , pueden presentarse en diferentes pueden presentarse en diferentes ááreas. reas.

Se requiere que las empresas dedicadas al desarrollo Se requiere que las empresas dedicadas al desarrollo de software (sin importar la naturaleza del mismo) de software (sin importar la naturaleza del mismo) utilicen los procesos y los ingenieros con la formaciutilicen los procesos y los ingenieros con la formacióón n adecuada. adecuada.

La regulaciLa regulacióón de software de riesgo es muy compleja.n de software de riesgo es muy compleja.

Page 20: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2020

Comentarios (4)Comentarios (4)Si se establecen reglas muy estrictas se puede detener Si se establecen reglas muy estrictas se puede detener el progreso.el progreso.

Se debe buscar un balance adecuado entre los Se debe buscar un balance adecuado entre los intereses de la comunidad y los intereses de las intereses de la comunidad y los intereses de las empresas. empresas.

Por otra parte, los estPor otra parte, los estáándares pueden limitar los ndares pueden limitar los esfuerzos orientados a la seguridad y a la esfuerzos orientados a la seguridad y a la investigaciinvestigacióón. n.

Los estLos estáándares mndares máás efectivos provienen de los s efectivos provienen de los usuarios: las industrias buscan musuarios: las industrias buscan máás la satisfaccis la satisfaccióón del n del cliente que de las reglas de las instituciones oficiales. cliente que de las reglas de las instituciones oficiales.

Page 21: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2121

ObjetivoObjetivo

Presentar una introducciPresentar una introduccióón al tema de n al tema de calidad de productos de softwarecalidad de productos de software, desde la , desde la perspectiva de los perspectiva de los procesosprocesos..

Page 22: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2222

CalidadCalidad

Conjunto de propiedades y de características de un producto o servicio, que le confieren aptitud para satisfacer necesidades explícitas o implícitas (ISO 8402).

Page 23: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2323

Calidad del softwareCalidad del software

La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario (IEEE, Std. 610-1990).

Concordancia del software producido con los requerimientos explícitamente establecidos, con los estándares de desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente, que espera el usuario (Pressman, 1998).

Page 24: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2424

Aseguramiento de la calidad del Aseguramiento de la calidad del software (1)software (1)

Es el conjunto de actividades planificadas y Es el conjunto de actividades planificadas y sistemsistemááticas necesarias para garantizar que el ticas necesarias para garantizar que el producto satisfarproducto satisfaráá los requisitos establecidos los requisitos establecidos de calidad.de calidad.

Se diseSe diseñña antes de comenzar a desarrollar el a antes de comenzar a desarrollar el producto.producto.

Page 25: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2525

Aseguramiento de la calidad del Aseguramiento de la calidad del software (2)software (2)

El aseguramiento de la calidad se alcanza a El aseguramiento de la calidad se alcanza a travtravéés de:s de:

1.1. Inspecciones/revisiones con tInspecciones/revisiones con téécnicas cnicas formales en todas las fases del desarrollo.formales en todas las fases del desarrollo.

2.2. Control de documentaciControl de documentacióón y versiones.n y versiones.3.3. Establecimiento de mEstablecimiento de méétricas.tricas.4.4. AuditorAuditorííasas..5.5. Etc.Etc.

Page 26: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2626

GestiGestióón de la calidad del softwaren de la calidad del software

Es el conjunto de actividades de la Es el conjunto de actividades de la direccidireccióón que determina la calidad, los n que determina la calidad, los objetivos y las responsabilidades. Se objetivos y las responsabilidades. Se implanta a travimplanta a travéés de la planeacis de la planeacióón, n, control, aseguramiento y mejora de la control, aseguramiento y mejora de la calidad.calidad.Se aplica a nivel organizaciSe aplica a nivel organizacióón. (Puede n. (Puede establecerse para cada proyecto).establecerse para cada proyecto).

Page 27: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2727

Control de la calidadControl de la calidad

Son las tSon las téécnicas y actividades desarrolladas cnicas y actividades desarrolladas para satisfacer los requisitos de calidad, para satisfacer los requisitos de calidad, centrcentráándose bndose báásicamente en:sicamente en:

1.1. Mantener bajo control un proceso.Mantener bajo control un proceso.2.2. Eliminar las causas de defectos en cada Eliminar las causas de defectos en cada

una de las fases de un proyecto.una de las fases de un proyecto.

Page 28: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2828

Sistema de calidadSistema de calidad

Estructura de la organizaciEstructura de la organizacióón (procedimientos, n (procedimientos, procesos y recursos) necesarios para implantar la procesos y recursos) necesarios para implantar la gestigestióón de calidad.n de calidad.

El sistema de calidad debe encuadrarse dentro de El sistema de calidad debe encuadrarse dentro de los objetivos de calidad de la empresa.los objetivos de calidad de la empresa.

La direcciLa direccióón de la empresa es la responsable de n de la empresa es la responsable de establecer la polestablecer la políítica de calidad y de que se tica de calidad y de que se desarrolle e implante el sistema de calidad.desarrolle e implante el sistema de calidad.

Page 29: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 2929

CertificaciCertificacióón de calidadn de calidad

Es el procedimiento por el cual una Es el procedimiento por el cual una entidad, externa a la organizacientidad, externa a la organizacióón, evaln, evalúúa a y determina si la organizaciy determina si la organizacióón es capaz de n es capaz de desarrollar productos de calidad.desarrollar productos de calidad.

Page 30: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3030

Aspectos involucrados en la calidadAspectos involucrados en la calidad

Personas

Proceso Tecnología

Liderazgo

Personas, procesos y tecnología principales elementos que determinan el costo, cumplimiento de plazos y la calidad del producto.

Page 31: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3131

Premisa del manejo de procesosPremisa del manejo de procesos

La La calidad de un sistemacalidad de un sistema estestááfuertemente influenciada por la fuertemente influenciada por la calidad calidad del procesodel proceso usado para adquirir, usado para adquirir, desarrollar y mantenerlo.desarrollar y mantenerlo.

Page 32: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3232

Proceso de softwareProceso de software

Es el conjunto de personas, organizaciEs el conjunto de personas, organizacióón, n, reglas, polreglas, polííticas, actividades y sus ticas, actividades y sus procedimientos, componentes de procedimientos, componentes de software, metodologsoftware, metodologíías, y herramientas as, y herramientas utilizadas o creadas especutilizadas o creadas especííficamente para ficamente para conceptualizar, desarrollar, ofrecer un conceptualizar, desarrollar, ofrecer un servicio, innovar y extender un producto servicio, innovar y extender un producto de software (de software (FuggettaFuggetta, 2001). , 2001).

Page 33: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3333

Calidad del software Calidad del software –– Factores (1)Factores (1)

Satisfacer las Satisfacer las necesidadesnecesidades del cliente.del cliente.Necesidades a cubrir por un producto:Necesidades a cubrir por un producto:

Entendible:Entendible: el propel propóósito del software debe ser sito del software debe ser claro. El diseclaro. El diseñño y la documentacio y la documentacióón deben poder n deben poder entenderse fentenderse fáácilmente, considerando a quicilmente, considerando a quiéén estn estáádirigido.dirigido.

Completo:Completo: todos sus componentes fueron todos sus componentes fueron desarrollados. Si se requiere interactuar con otros desarrollados. Si se requiere interactuar con otros productos, deben incluirse las librerproductos, deben incluirse las libreríías requeridas.as requeridas.

Page 34: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3434

Calidad del software Calidad del software –– Factores (2)Factores (2)Portabilidad: Portabilidad: el sistema debe poder correr en el sistema debe poder correr en diferentes ambientes.diferentes ambientes.

Consistencia: Consistencia: utilizar simbologutilizar simbologíía y notacia y notacióón n uniforme.uniforme.

Mantenible: Mantenible: debe poder actualizarse ante nuevos debe poder actualizarse ante nuevos requerimientos del usuario. requerimientos del usuario.

Facilidad de pruebas: Facilidad de pruebas: debe ofrecer facilidades debe ofrecer facilidades para establecer criterios de aceptacipara establecer criterios de aceptacióón y pruebas de n y pruebas de desempedesempeñño.o.

Page 35: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3535

Calidad del software Calidad del software –– Factores (3)Factores (3)Usabilidad: Usabilidad: que el sistema pueda usarse de que el sistema pueda usarse de manera conveniente y prmanera conveniente y prááctica.ctica.

Confiabilidad: Confiabilidad: el sistema realiza todas sus el sistema realiza todas sus funciones correctamente y reacciona correctamente funciones correctamente y reacciona correctamente ante cualquier posible entrada.ante cualquier posible entrada.

Estructurado: Estructurado: se desarrollse desarrollóó respetando ciertos respetando ciertos patrones.patrones.

Eficiente: Eficiente: alcanza sus objetivos optimizando el uso alcanza sus objetivos optimizando el uso de recursos. de recursos.

Page 36: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3636

Calidad del software Calidad del software –– Factores (4)Factores (4)Seguro: Seguro: provee mecanismos para impedir el provee mecanismos para impedir el manejo inadecuado de los datos. Debe evitar el uso manejo inadecuado de los datos. Debe evitar el uso del sistema por personas no autorizadas para ello. del sistema por personas no autorizadas para ello.

Conciso: Conciso: el cel cóódigo y/o documentacidigo y/o documentacióón no debe n no debe contener informacicontener informacióón de mn de máás. s.

Page 37: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3737

¿¿CCóómo medir la calidad del mo medir la calidad del software? software?

Para medir la calidad, a travPara medir la calidad, a travéés de los factores s de los factores enunciados, se deben establecer menunciados, se deben establecer méétricas tricas (indicadores).(indicadores).

Algunos factores son cuantificables, otros no. En Algunos factores son cuantificables, otros no. En esos casos, se pueden usar atributos esos casos, se pueden usar atributos relacionados al mismo (por ejemplo: nrelacionados al mismo (por ejemplo: núúmero de mero de errores, tiempo de respuesta, etc.), es decir errores, tiempo de respuesta, etc.), es decir mméétricas indirectas.tricas indirectas.

Algunas preguntas (se les puede asociar algAlgunas preguntas (se les puede asociar algúún n peso) que pueden ayudar a medir la calidad de peso) que pueden ayudar a medir la calidad de un producto:un producto:

Page 38: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3838

Preguntas que ayudan a medir la Preguntas que ayudan a medir la calidad del software (1)calidad del software (1)

¿¿Los nombres de las variables son adecuados?Los nombres de las variables son adecuados?¿¿Los subprogramas estLos subprogramas estáán documentados n documentados correctamente?correctamente?……¿¿Se incluyeron todos los subprogramas/librerSe incluyeron todos los subprogramas/libreríías as involucradas?involucradas?¿¿EstEstáán todos los parn todos los paráámetros bien especificados?metros bien especificados?¿¿Se dispone de todas las entradas requeridas Se dispone de todas las entradas requeridas por el sistema?por el sistema?……

Page 39: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 3939

Preguntas que ayudan a medir la Preguntas que ayudan a medir la calidad del software (2)calidad del software (2)

¿¿Existe cExiste cóódigo redundante?digo redundante?¿¿Se pueden extraer instrucciones fuera de los Se pueden extraer instrucciones fuera de los ciclos para ahorrar operaciones?ciclos para ahorrar operaciones?……¿¿El sistema depende del equipo?El sistema depende del equipo?¿¿El sistema depende del sistema operativo?El sistema depende del sistema operativo?……¿¿Se usa el mismo nombre de variable para Se usa el mismo nombre de variable para referenciar datos distintos?referenciar datos distintos?¿¿Se respeta el criterio establecido para la Se respeta el criterio establecido para la identaciidentacióón?n?……

Page 40: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4040

Preguntas que ayudan a medir la Preguntas que ayudan a medir la calidad del software (3)calidad del software (3)

¿¿Se puede aumentar la capacidad de Se puede aumentar la capacidad de almacenamiento?almacenamiento?¿¿El diseEl diseñño del sistema permite fo del sistema permite fáácilmente la cilmente la expansiexpansióón de sus capacidades?n de sus capacidades?……¿¿Existe informaciExiste informacióón que permite disen que permite diseññar casos de ar casos de pruebas?pruebas?¿¿Se tiene claramente definidos los requerimientos Se tiene claramente definidos los requerimientos para validar la operacipara validar la operacióón del sistema?n del sistema?……

Page 41: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4141

Preguntas que ayudan a medir la Preguntas que ayudan a medir la calidad del software (4)calidad del software (4)

¿¿Existen adecuadas interfaces de usuario?Existen adecuadas interfaces de usuario?¿¿Existe ayuda en lExiste ayuda en líínea?nea?¿¿El sistema provee mensajes de error El sistema provee mensajes de error adecuados?adecuados?¿¿Los lLos líímites de los ciclos estmites de los ciclos estáán probados?n probados?¿¿Maneja correctamente las excepciones?Maneja correctamente las excepciones?¿¿Se evitan las divisiones por cero?Se evitan las divisiones por cero?……¿¿Se utilizaron patrones para el diseSe utilizaron patrones para el diseñño?o?¿¿Se cuidSe cuidóó el tamael tamañño de los componentes?o de los componentes?……

Page 42: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4242

Preguntas que ayudan a medir la Preguntas que ayudan a medir la calidad del software (5)calidad del software (5)

¿¿Se optimizaron las operaciones para asegurar Se optimizaron las operaciones para asegurar velocidad de procesamiento?velocidad de procesamiento?¿¿Hay pHay péérdida de memoria?rdida de memoria?……¿¿EstEstáá el software convenientemente protegido el software convenientemente protegido contra personas no autorizadas?contra personas no autorizadas?¿¿Existen polExisten polííticas de seguridad bien establecidas ticas de seguridad bien establecidas y publicadas en la organizaciy publicadas en la organizacióón?n?……

Page 43: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4343

Propuesta de fPropuesta de fóórmula para medir la rmula para medir la calidad del softwarecalidad del software

FcFc = p= p11 * ind* ind1 1 + p+ p22 * ind* ind22 + + …… + + ppnn * * indindnn

FcFc es el factor de calidades el factor de calidadppii es el peso asociado al indicador ies el peso asociado al indicador iindindii es el indicador ies el indicador i

Page 44: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4444

SituaciSituacióón a mejorar (1)n a mejorar (1)

La industria del software, en muchos La industria del software, en muchos casos, sigue estando en una fase casos, sigue estando en una fase artesanal.artesanal.Falta de organizaciFalta de organizacióón.n.Falta de planeaciFalta de planeacióón.n.Dependencia de Dependencia de hhééroesroes..Poco Poco reusoreuso..Mucho mantenimiento.Mucho mantenimiento.

Page 45: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4545

SituaciSituacióón a mejorar (2)n a mejorar (2)Existen muchas organizaciones Existen muchas organizaciones inmadurasinmaduras::

No tienen procesos de software definidos.No tienen procesos de software definidos.Otras tienen definidos, pero no se aplican Otras tienen definidos, pero no se aplican rigurosamente. rigurosamente. Comportamiento reactivo.Comportamiento reactivo.Mala planeaciMala planeacióón de recursos.n de recursos.Poco cumplimiento de los acuerdos: plazos y Poco cumplimiento de los acuerdos: plazos y presupuestos. presupuestos.

Page 46: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4646

SituaciSituacióón a mejorar (3)n a mejorar (3)Existen muchas organizaciones Existen muchas organizaciones inmadurasinmaduras::

No se establecen mNo se establecen méétricas adecuadas para tricas adecuadas para medir la calidad del producto.medir la calidad del producto.

Cuando no se cumplen plazos, se sacrifican Cuando no se cumplen plazos, se sacrifican revisiones, inspecciones y pruebas. revisiones, inspecciones y pruebas.

Page 47: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4747

Para llevar el desarrollo de Para llevar el desarrollo de swsw a a un nivel un nivel ingenierilingenieril……

se han definido modelos y normas que se han definido modelos y normas que ayudan a las empresas a consolidar sus ayudan a las empresas a consolidar sus procesos de desarrolloprocesos de desarrollo: ISO, SPICE, CMMI, : ISO, SPICE, CMMI, ……

En MEn Mééxico: xico: MoProSoftMoProSoft

Page 48: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4848

Paso a pasoPaso a paso

PSPPSPTSP

CMMI

Page 49: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 4949

PSP PSP –– Personal Software Personal Software ProcessProcess

Propuesto por Propuesto por HumphreyHumphrey

Desarrolla habilidades y disciplina de Desarrolla habilidades y disciplina de trabajo a nivel de los ingenieros de trabajo a nivel de los ingenieros de software software --individuosindividuos--..

Page 50: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5050

TSP TSP –– Team Software Team Software ProcessProcess

Desarrolla habilidades y disciplina de Desarrolla habilidades y disciplina de trabajo para equipos de ingenieros de trabajo para equipos de ingenieros de software software ––equiposequipos--..

Page 51: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5151

CMMICMMI-- CapabilityCapability MaturityMaturity ModelModelIntegrationIntegration

Modelo de procesos a nivel organizaciModelo de procesos a nivel organizacióón. n.

Fomenta el desarrollo de las capacidades Fomenta el desarrollo de las capacidades de toda la organizacide toda la organizacióón n ––organizaciorganizacióónn--..

Page 52: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5252

PSPPSP

Es la secuencia de pasos requeridos por Es la secuencia de pasos requeridos por un programador para un programador para desarrollardesarrollar o o mantenermantener software.software.

El principal objetivo de PSP es ayudar a El principal objetivo de PSP es ayudar a los ingenieros de los ingenieros de swsw y a las organizaciones y a las organizaciones a producir a producir swsw de de calidadcalidad..

Page 53: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5353

¿¿Por quPor quéé es importante PSP? (1)es importante PSP? (1)

La calidad de un programa depende de la calidad La calidad de un programa depende de la calidad del proceso usado para su desarrollo.del proceso usado para su desarrollo.La calidad de un sistema estLa calidad de un sistema estáá determinada por la determinada por la calidad de su peor componente.calidad de su peor componente.La calidad de un componente depende de La calidad de un componente depende de quienquien lo lo desarrolla.desarrolla.El desempeEl desempeñño del programador depende de sus o del programador depende de sus conocimientos, disciplina y compromiso.conocimientos, disciplina y compromiso.

Page 54: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5454

¿¿Por quPor quéé es importante PSP? (2)es importante PSP? (2)

Los programadores entienden mejor lo que Los programadores entienden mejor lo que hacen cuando registran, miden y controlan su hacen cuando registran, miden y controlan su trabajo.trabajo.Un proceso definido favorece la evaluaciUn proceso definido favorece la evaluacióón y n y el aprendizaje.el aprendizaje.Con un proceso personal de alta calidad, el Con un proceso personal de alta calidad, el individuo se torna en un miembro efectivo de individuo se torna en un miembro efectivo de su equipo de trabajo.su equipo de trabajo.

Page 55: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5555

PSP ayuda a :PSP ayuda a :Estimar y planear el trabajoEstimar y planear el trabajoEvitar compromisos inalcanzablesEvitar compromisos inalcanzablesCumplir los compromisos adquiridosCumplir los compromisos adquiridosEntender las capacidades actualesEntender las capacidades actualesMejorar las prMejorar las práácticas de desarrollocticas de desarrolloReunir los datos requeridos para mejorar la Reunir los datos requeridos para mejorar la productividad, la calidad y la estimaciproductividad, la calidad y la estimacióón del n del tiempotiempo

Page 56: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5656

PSP involucra:PSP involucra:

PlaneaciPlaneacióónn del proyectodel proyectoCalidadCalidad con la que se desarrollacon la que se desarrolla

Para planear y para mejorar continuamente Para planear y para mejorar continuamente el proceso se requiere el proceso se requiere recolectarrecolectar datos datos

durante todos los desarrollos.durante todos los desarrollos.

Page 57: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5757

El flujo del proceso PSPEl flujo del proceso PSP

RequerimientosRequerimientos

PlaneaciónDiseño

Postmortem

CodificaciónCompilación

Pruebas

Producto terminado

Scripts

BitácorasBitácoras

Resumen del proyecto

Page 58: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5858

Elementos bElementos báásicos de PSPsicos de PSP

BitBitáácorascorasEstEstáándares (codificacindares (codificacióón, conteo, defectos)n, conteo, defectos)ScriptsScripts de procesosde procesosListas de defectos (para revisiones e Listas de defectos (para revisiones e inspecciones)inspecciones)IndicadoresIndicadores

Page 59: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 5959

PSP y Proceso de CalidadPSP y Proceso de Calidad

Un Un proceso de calidadproceso de calidad genera productos de genera productos de calidad.calidad.El nivel donde se aplica El nivel donde se aplica PSPPSP es el nivel es el nivel donde se insertan defectos, por lo tanto los donde se insertan defectos, por lo tanto los ing. de ing. de swsw. deber. deberíían:an:

1.1. QuitarlosQuitarlos2.2. Determinar sus causasDeterminar sus causas3.3. Aprender a prevenirlosAprender a prevenirlos

Page 60: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6060

Calidad Calidad –– revisiones/inspecciones revisiones/inspecciones (1)(1)

Es mEs máás eficiente encontrar los defectos en s eficiente encontrar los defectos en revisiones revisiones que en que en pruebaspruebas..En la etapa de pruebas de unidad se En la etapa de pruebas de unidad se encuentran de encuentran de 2 a 42 a 4 defectos por hora.defectos por hora.En las revisiones de cEn las revisiones de cóódigo se encuentran de digo se encuentran de 6 6 a 10a 10 defectos por hora.defectos por hora.Revisores experimentados pueden encontrar el Revisores experimentados pueden encontrar el 70% o m70% o máás de los defectos.s de los defectos.

Page 61: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6161

Calidad Calidad –– revisiones/inspecciones revisiones/inspecciones (2)(2)

En las etapas de integraciEn las etapas de integracióón y de prueba n y de prueba del sistema, toma de del sistema, toma de 10 a 40 horas10 a 40 horas de de programador para encontrar y corregir programador para encontrar y corregir cada defecto.cada defecto.

En las inspecciones cada defecto toma En las inspecciones cada defecto toma menos de una horamenos de una hora..

Page 62: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6262

TSP (1)TSP (1)Es un proceso para desarrollo de software en Es un proceso para desarrollo de software en equipo.equipo.

Propuesto especialmente para equipos de 20 o Propuesto especialmente para equipos de 20 o mmáás ingenieros, que desarrollan grandes sistemas.s ingenieros, que desarrollan grandes sistemas.

Dedica atenciDedica atencióón al proceso, al producto y al n al proceso, al producto y al trabajo en grupo.trabajo en grupo.

GuGuíía ca cóómo planear y administrar proyectos de mo planear y administrar proyectos de software de gran tamasoftware de gran tamañño. o.

Page 63: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6363

TSP (2)TSP (2)Un equipo no se forma simplemente con la uniUn equipo no se forma simplemente con la unióón n de varios programadores. Se necesita:de varios programadores. Se necesita:

1.1. definir definir objetivos comunesobjetivos comunes, , 2.2. un un plan de acciplan de accióón aceptado por todosn aceptado por todos, , 3.3. liderazgo adecuadoliderazgo adecuado, , 4.4. conocer y respetarconocer y respetar las debilidades y fortalezas de las debilidades y fortalezas de

cada miembro, cada miembro, 5.5. ayudarseayudarse entre compaentre compaññeros, y eros, y 6.6. ser ser capaz de pedir ayudacapaz de pedir ayuda cuando se requiera. cuando se requiera.

Page 64: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6464

TSP (3)TSP (3)

Para que el grupo de desarrollo pueda ir Para que el grupo de desarrollo pueda ir mejorando su proceso, TSP al igual que PSP, mejorando su proceso, TSP al igual que PSP, requiere del requiere del registroregistro continuo de los datos continuo de los datos del proyecto.del proyecto.

Page 65: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6565

Flujo de TSPFlujo de TSP

Estrategia 2

Plan 2

Requerimientos 2

Diseño 2

Implementación 2

Prueba 2

Postmortem 2

Estrategia 1

Plan 1

Requerimientos 1

Diseño 1

Implementación 1

Prueba 1

Postmortem 1

Ciclo n - Lanzamiento

Estrategia n

Plan n

Requerimientos n

Diseño n

Implementación n

Prueba n

Postmortem n

Ciclo 2 - Lanzamiento

Estrategia 2

Plan 2

Requerimientos 2

Diseño 2

Implementación 2

Prueba 2

Postmortem 2

Ciclo 1 - Lanzamiento

Estrategia 1

Plan 1

Requerimientos 1

Diseño 1

Implementación 1

Prueba 1

Postmortem 1

Ciclo n - Lanzamiento

Estrategia n

Plan n

Requerimientos n

Diseño n

Implementación n

Prueba n

Postmortem n

Instrucciones sobre el producto a desarrollar

Producto terminadoEvaluación final

Ciclo 2 - Lanzamiento

Page 66: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6666

CMMI: CMMI: CapabilityCapability MaturityMaturity ModelModelIntegrationIntegration

Es un modelo de procesos que permite evaluar Es un modelo de procesos que permite evaluar y definir procesos para su implementaciy definir procesos para su implementacióón en n en la organizacila organizacióón.n.

Se proponen 25 Se proponen 25 ááreas de procesos (PA): reas de procesos (PA): prpráácticas relacionadas a un cticas relacionadas a un áárea que, cuando rea que, cuando se implementan y ejecutan, permiten alcanzar se implementan y ejecutan, permiten alcanzar una mejora significativa.una mejora significativa.

Page 67: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6767

Representaciones de CMMIRepresentaciones de CMMI

RepresentaciRepresentacióón continuan continua: las : las PAPA’’ss se se organizan por categororganizan por categoríías.as.

RepresentaciRepresentacióón escalonadan escalonada: las : las PAPA’’ssse organizan por nivel de madurez.se organizan por nivel de madurez.

Page 68: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6868

RepresentaciRepresentacióón continuan continua

AdministraciAdministracióón de la configuracin de la configuracióónnAseguramiento de la calidad del proceso y del productoAseguramiento de la calidad del proceso y del producto……

SoporteSoporte(6)(6)

AdministraciAdministracióón de requerimientosn de requerimientosSoluciSolucióón tn téécnicacnicaVerificaciVerificacióónn……

IngenierIngenierííaa(6)(6)

PlaneaciPlaneacióón de proyecton de proyectoMonitoreo y control de proyectoMonitoreo y control de proyectoAdministraciAdministracióón de riesgosn de riesgos……

AdministraciAdministracióón de n de proyectosproyectos

(8)(8)

DefiniciDefinicióón de procesos de la organizacin de procesos de la organizacióón n CapacitaciCapacitacióón organizacionaln organizacionalDesempeDesempeñño de los procesos organizacionaleso de los procesos organizacionales

……

AdministraciAdministracióón de n de procesosprocesos

(5)(5)

ÁÁrea de Proceso (PA)rea de Proceso (PA)CategorCategorííaa

Page 69: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 6969

RepresentaciRepresentacióón escalonadan escalonada

Procesos Procesos impredeciblesimpredecibles……

1 Inicial1 Inicial

AdministraciAdministracióón de requerimientosn de requerimientosPlaneaciPlaneacióón de proyectosn de proyectosMonitoreo y control de proyectoMonitoreo y control de proyecto……

Procesos Procesos determinados por los determinados por los proyectos.proyectos.Son reactivos.Son reactivos.

22AdministradoAdministrado

(7)(7)

Desarrollo de requerimientosDesarrollo de requerimientosSoluciSolucióón tn téécnicacnicaVerificaciVerificacióónnValidaciValidacióónn……

Procesos Procesos determinados por la determinados por la organizaciorganizacióón.n.

Son Son proactivosproactivos..

33DefinidoDefinido

(14)(14)

DesempeDesempeñño (organizacio (organizacióón) de los procesos n) de los procesos AdministraciAdministracióón cuantitativa de los proyectosn cuantitativa de los proyectos

Proceso medido y Proceso medido y controladocontrolado

44Admin. Admin.

CuantitativaCuantitativa

InnovaciInnovacióón de la organizacin de la organizacióónnAnAnáálisis causal y solucilisis causal y solucióón de problemasn de problemas

Mejoramiento Mejoramiento continuocontinuo

55OptimizadoOptimizado

ÁÁreas de Proceso (PA)reas de Proceso (PA)EnfocadoEnfocadoNivelNivel

Page 70: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7070

Componentes de las Componentes de las PAPA’’ss1.1. ObjetivoObjetivo2.2. PAPA’’ss relacionadasrelacionadas3.3. Objetivos especObjetivos especííficosficos4.4. PrPráácticas especcticas especííficasficas5.5. SubprSubpráácticascticas6.6. Trabajos tTrabajos tíípicospicos7.7. Objetivos generalesObjetivos generales8.8. PrPráácticas generalescticas generales

Page 71: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7171

Resultados implantaciResultados implantacióón CMMI en n CMMI en empresasempresas

55%55%14%14%--4%4%SatisfacciSatisfaccióón del n del clientecliente

132%132%50%50%7%7%CalidadCalidad

255%255%62%62%9%9%ProductividadProductividad

90%90%37%37%2%2%Cumplimiento Cumplimiento plazosplazos

87%87%20%20%3%3%CostoCosto

AltoAltoMedioMedioBajoBajoDesempeDesempeñño o CategorCategorííaa

Page 72: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7272

Resultados implantaciResultados implantacióón CMMI en n CMMI en empresasempresas

httphttp://://www.sei.cmu.eduwww.sei.cmu.edu//cmmicmmi//results.htmlresults.html

Page 73: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7373

Modelo de Procesos para la Industria Modelo de Procesos para la Industria de Software (de Software (MoProSoftMoProSoft))

EstEstáá dirigido a las pequedirigido a las pequeññas y medianas empresas o as y medianas empresas o ááreas internas dedicadas al desarrollo y/o reas internas dedicadas al desarrollo y/o mantenimiento de software.mantenimiento de software.

Su principal propSu principal propóósito es fomentar la estandarizacisito es fomentar la estandarizacióón n en la Industria de Software.en la Industria de Software.

EstEstáá fundamentado en: fundamentado en: TheThe CapabilityCapability MaturityMaturityModelModel v1.1, ISO 9001:2000, ISO/IEC TR: 15504v1.1, ISO 9001:2000, ISO/IEC TR: 15504--2:1998, 2:1998, GuideGuide toto Project Project ManagementManagement BodyBody ofofKnowledgeKnowledge, (PMBOK), (PMBOK),, GuideGuide toto thethe Software Software EngineeringEngineering BodyBody ofof KnowledgeKnowledge (SWEBOK), Personal (SWEBOK), Personal Software Software ProcessProcess y Team Software y Team Software ProcessProcess..

Page 74: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7474

Estructura de Estructura de MoProSoftMoProSoft

Considera Considera los tres niveles blos tres niveles báásicos de una sicos de una organizaciorganizacióón: Alta Direccin: Alta Direccióón, Gestin, Gestióón y Operacin y Operacióón.n.

Estos niveles, llamados categorEstos niveles, llamados categoríías, son divididos en as, son divididos en seis procesos de alto nivel, y los procesos a su vez seis procesos de alto nivel, y los procesos a su vez en actividades, y en su caso, en actividades, y en su caso, subsub--actividades. actividades.

Cada actividad involucra una serie de pasos a Cada actividad involucra una serie de pasos a realizar por uno o varios roles, que son usuarios con realizar por uno o varios roles, que son usuarios con capacidades y caractercapacidades y caracteríísticas particulares.sticas particulares.

Page 75: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7575

Page 76: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7676

Alta DirecciAlta Direccióón (DIR)n (DIR)Contiene un proceso llamado Contiene un proceso llamado GestiGestióón de n de NegocioNegocio (GN).(GN).

Su propSu propóósito es ayudar a las organizaciones a sito es ayudar a las organizaciones a establecer su razestablecer su razóón social, objetivos y n social, objetivos y estrategias, asestrategias, asíí como prepararlas para como prepararlas para situaciones de cambio. situaciones de cambio.

Se proponen acciones para mantener una Se proponen acciones para mantener una mejora continua, relacimejora continua, relacióón con los clientes y n con los clientes y empleados, y tener una relaciempleados, y tener una relacióón estrecha con la n estrecha con la categorcategoríía de Gestia de Gestióón.n.

Page 77: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7777

GestiGestióón (GES)n (GES)Recibe y evalRecibe y evalúúa a la informacila informacióón generada por los n generada por los procesos de Operaciprocesos de Operacióón y comunica los resultados a n y comunica los resultados a la Categorla Categoríía de Alta Direccia de Alta Direccióón.n.

Proporciona los elementos Proporciona los elementos para el funcionamiento de para el funcionamiento de los procesos de Operacilos procesos de Operacióón.n.

EstEstáá integrada por tres procesos: integrada por tres procesos: GestiGestióón de n de ProcesosProcesos (GP), (GP), GestiGestióón de Proyectosn de Proyectos (GP) y (GP) y GestiGestióón n de Recursosde Recursos (GR). (GR).

Este Este úúltimo proceso estltimo proceso estáá formado por los formado por los subprocesos de Recursos Humanos y Ambiente de subprocesos de Recursos Humanos y Ambiente de Trabajo (RHAT), Bienes, Servicios e Infraestructura Trabajo (RHAT), Bienes, Servicios e Infraestructura (BSI) y Conocimiento de la Organizaci(BSI) y Conocimiento de la Organizacióón (CO).n (CO).

Page 78: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7878

OperaciOperacióón (OPE)n (OPE)Formada por los procesos de Formada por los procesos de AdministraciAdministracióón de n de Proyectos EspecProyectos Especííficosficos (APE) y de (APE) y de Desarrollo y Desarrollo y Mantenimiento de SoftwareMantenimiento de Software (DMS). (DMS).

Involucra las prInvolucra las práácticas necesarias para desarrollar cticas necesarias para desarrollar los proyectos de la organizacilos proyectos de la organizacióón y el mantenimiento n y el mantenimiento de los productos de software. de los productos de software.

Opera de acuerdo a los elementos proporcionados Opera de acuerdo a los elementos proporcionados por la Categorpor la Categoríía de Gestia de Gestióón, con la que debe n, con la que debe mantener una relacimantener una relacióón constante.n constante.

Page 79: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 7979

AdministraciAdministracióón de Proyectos Especn de Proyectos Especííficosficosestablece y ejecuta las actividades que permitan establece y ejecuta las actividades que permitan cumplir con los objetivos de un proyecto en el cumplir con los objetivos de un proyecto en el tiempo y costo esperados. tiempo y costo esperados.

Desarrollo y Mantenimiento de SoftwareDesarrollo y Mantenimiento de Software se se encarga de todas las actividades que involucra el encarga de todas las actividades que involucra el disediseñño y desarrollo de software. o y desarrollo de software.

Adicionalmente, Adicionalmente, MoProSoftMoProSoft propone la utilizacipropone la utilizacióón de n de una una Base de ConocimientoBase de Conocimiento para almacenar todos para almacenar todos los productos y documentos de la organizacilos productos y documentos de la organizacióón.n.

Sugiere la creaciSugiere la creacióón de una n de una memoria de la memoria de la organizaciorganizacióónn con las con las lecciones aprendidaslecciones aprendidas..

Page 80: Calidad de Software - allman.rhon.itam.mxallman.rhon.itam.mx/~oromero/Calidad_en_el_software_SGuardati.pdf · Aseguramiento de la calidad del software (2) El aseguramiento de la calidad

GuardatiGuardati 8080

MoProSoftMoProSoft

Se complementa con:Se complementa con:

1.1. Modelo de capacidades basado en la Modelo de capacidades basado en la norma ISO/IEC 15504norma ISO/IEC 15504--2.2.

2.2. MMéétodo de evaluacitodo de evaluacióón n EvalProSoftEvalProSoft..