Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

54
Calidad de Software: Modelos, Procesos, Arquitecturas Dr. Cuauhtémoc Lemus Olalde Centro de Investigación en Matemáticas (CIMAT) Calidad de Software: Modelos, Procesos, Arquitecturas Dr. Cuauhtémoc Lemus Olalde Centro de Investigación en Matemáticas (CIMAT) Seminario en Tecnologías y Software (SETyS) Edición 2007 Septiembre 2007 Seminario en Tecnologías y Software (SETyS) Edición 2007 Septiembre 2007

Transcript of Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Page 1: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Calidad de Software:Modelos, Procesos, Arquitecturas

Dr. Cuauhtémoc Lemus Olalde

Centro de Investigación en Matemáticas (CIMAT)

Calidad de Software:Modelos, Procesos, Arquitecturas

Dr. Cuauhtémoc Lemus Olalde

Centro de Investigación en Matemáticas (CIMAT)

Seminario enTecnologías y

Software(SETyS)

Edición2007

Septiembre

2007

Seminario enTecnologías y

Software(SETyS)

Edición2007

Septiembre

2007

Page 2: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

TerminologTerminologííaa(ISO 9000:2000)(ISO 9000:2000)

Calidad: Grado en el que un conjunto de características inherentes cumple con los requisitos– Inherente es que existe como una

característica permanente– Pobre, buena, excelente calidad

Característica: Rasgo diferenciador– Puede ser inherente ó asignada; cualitativa o

cuantitativa– Clases: funcionales, físicas, de tiempo, etc.

Característica de Calidad: característica inherente de un producto, proceso ósistema relacionada con un requisito

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 3: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

TerminologTerminologííaa(ISO 9000:2000)(ISO 9000:2000)

Gestión: actividades coordinadas para dirigir y controlar una organizaciónGestión de la Calidad: actividades coordinadas para dirigir y controlar una organización en lo relativo a la calidad

– Incluye: política de la calidad, objetivos de la calidad, planificación de la calidad, control de la calidad, aseguramiento de la calidad y mejora de la calidad

Control de la calidad: orientada al cumplimiento de los orientada al cumplimiento de los requisitos de la calidadrequisitos de la calidadAseguramiento de la calidad: orientada a proporcionar orientada a proporcionar confianza en que se cumplirconfianza en que se cumpliráán los requisitos de la calidadn los requisitos de la calidadMejora de la calidad: orientada a aumentar la capacidad orientada a aumentar la capacidad de cumplir con los requisitos de la calidadde cumplir con los requisitos de la calidadMejora continua: actividad recurrente para aumentar la actividad recurrente para aumentar la capacidad para cumplir los requisitoscapacidad para cumplir los requisitos

–– Proceso mediante el cual se establecen los objetivos y se Proceso mediante el cual se establecen los objetivos y se identifican oportunidades para la mejora de un proceso identifican oportunidades para la mejora de un proceso continuo a travcontinuo a travéés del uso de los hallazgos de la auditoria, el s del uso de los hallazgos de la auditoria, el ananáálisis de los datos, la revisilisis de los datos, la revisióón por la direccin por la direccióón u otros n u otros medios, y generalmente conduce a la accimedios, y generalmente conduce a la accióón correctiva y n correctiva y preventiva.preventiva.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 4: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

QuQuéé es calidad?es calidad?Conjunto de cualidades (etimologConjunto de cualidades (etimologíía a similar) de una persona similar) de una persona óó cosacosa–– Lo que hace que una persona Lo que hace que una persona óó cosa sea cosa sea

lo que eslo que es–– Propiedad, carPropiedad, carááctercter–– Atributo: caracterAtributo: caracteríísticas mensurables, que sticas mensurables, que

se pueden comparar con estse pueden comparar con estáándares ndares conocidos (longitud, color, propiedades conocidos (longitud, color, propiedades elelééctricas, maleabilidad, etc.)ctricas, maleabilidad, etc.)

–– Superioridad, excelencia de alguna cosaSuperioridad, excelencia de alguna cosaCalidad de softwareCalidad de software–– Como entidad intelectual (intangible), es Como entidad intelectual (intangible), es

mmáás difs difíícil de caracterizar que los objetos cil de caracterizar que los objetos tangiblestangibles

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 5: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

QuQuéé es calidad?es calidad?Pensamiento

Sistémico Proceso de IS

AdministraciónCalidad SW

Arquitecturasde SW

Modelos de Madurez

ComponentesReutilizables

Calidad deSoftware

Métricas

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 6: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Factores que afectan la Factores que afectan la calidad de softwarecalidad de software

Calidaddel

Producto

Tecnología dedesarrollo

Costo, tiempo y duración

Calidaddel

Proceso

Calidaddel

Personal

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 7: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

MapaMapa Conceptual PS e ISConceptual PS e ISIntroducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 8: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Calidad del Proceso y Calidad del Proceso y CalidadCalidad deldel ProductoProducto

La mejora de procesos se basa en la La mejora de procesos se basa en la suposicisuposicióón de que el factor crn de que el factor críítico que tico que influye en la calidad del producto es la influye en la calidad del producto es la calidad del proceso de desarrollo del calidad del proceso de desarrollo del producto.producto.

Medir nMedir núúmero de defectos en los productos y mero de defectos en los productos y relacionar estos defectos con el procesorelacionar estos defectos con el procesoEl proceso se mejora con el propEl proceso se mejora con el propóósito de sito de reducir el nreducir el núúmero de defectos en el productomero de defectos en el productoEl proceso se mejora hasta que sea repetibleEl proceso se mejora hasta que sea repetibleResultados del proceso sean predecibles y el Resultados del proceso sean predecibles y el nnúúmero de defectos se reduzcamero de defectos se reduzcaEl proceso se estandariza e inicia un ciclo de El proceso se estandariza e inicia un ciclo de mejoras adicionalesmejoras adicionales

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 9: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Calidad Calidad dede SWSWAdopciAdopcióón de modelos y estn de modelos y estáándaresndares–– CMMiCMMi–– SPICESPICE–– ISO 9001 ISO 9001 –– MoprosoftMoprosoft..

Mejoramiento de procesos de Mejoramiento de procesos de software a travsoftware a travéés de ts de téécnicas y cnicas y mméétodos estadtodos estadíísticossticos–– PSP (Personal Software PSP (Personal Software ProcessProcess))–– TSP, TSP, TSPiTSPi (Team Software (Team Software ProcessProcess))–– Seis Sigma SoftwareSeis Sigma Software–– DiseDiseñño de Seis Sigma Softwareo de Seis Sigma Software

Desarrollo de Software con base en Desarrollo de Software con base en Arquitectura de SoftwareArquitectura de Software

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 10: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Calidad de SWCalidad de SWUtilizar las mejores prUtilizar las mejores práácticas de cticas de ingenieringenieríía de softwarea de softwareUtilizar herramientas apropiadasUtilizar herramientas apropiadasPersonal debidamente entrenado Personal debidamente entrenado y con habilidades, con y con habilidades, con responsabilidades e instrucciones responsabilidades e instrucciones bien definidasbien definidasEnfasisEnfasis en la prevencien la prevencióón o n o deteccideteccióón temprana de defectos, n temprana de defectos, en lugar de deteccien lugar de deteccióón y n y correccicorreccióón de defectosn de defectos

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 11: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Modelo GenModelo Genéérico del rico del Desarrollo de SoftwareDesarrollo de Software

Clientes

Procesos de Desarrollo

Procesos deAdministración

Desarrolladores

Administradores

Proceso de Organización

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 12: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Integrar EstIntegrar Estáándar en el ndar en el desarrollo de Proyectosdesarrollo de Proyectos

Proceso deOrganización

Modelo deReferencia

ProcesoDerivado

del Modelo

deReferencia

Proceso deAdministración

Proceso deDesarrollo

Proyecto 1

ProcesoDerivado

del Modelo

deReferencia

Proceso deAdministración

Proceso deDesarrollo

Proyecto n…

organización

proceso

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 13: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Enfoques de ISEnfoques de ISEnfoqueEnfoque DescripciDescripcióónn TTéécnicacnica OrganizaciOrganizacióónn AdministraciAdministracióónn

ProgramaciProgramacióónn D. FuncionalD. FuncionalP. EstructuradaP. EstructuradaOOPOOPCBPCBP

HH LL LL

Modelos deModelos deDesarrollo Desarrollo

CascadaCascadaEspiralEspiralPrototiposPrototipos

HH MM LL

Automatizar Automatizar ISIS

CASECASEUMLUML

HH LL LL

MMéétodos todos FormalesFormales

CSPCSPSDLSDLZZCleanClean RoomRoom

HH LL LL

Procesos de Procesos de ISIS

CMMCMMTrilliumTrilliumBOOTSTRAPBOOTSTRAPISO/IEC 15504ISO/IEC 15504

HH HH HH

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 14: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ResumenResumen de de ModelosModelos y y EstEstáándaresndares

NivelNivel CMMCMM BootstrapBootstrap SPICESPICE ISO 9001ISO 9001

CategorCategorííaa Niveles [5]Niveles [5] CategorCategoríías [9]as [9]CategorCategorííasas

((PCsPCs))[5][5]

--

ProcesoProcesoAreasAreas

PrPráácticas cticas ((KPAsKPAs) [18]) [18]

Procesos [32]Procesos [32] Procesos Procesos ((PRsPRs) [35]) [35]

TTóópicos picos Principales de Principales de AreasAreas ((MTAsMTAs) )

[20][20]

PrPráácticactica PrPráácticas cticas ((KPsKPs) [150]) [150]

Atributos de Atributos de Calidad Calidad

((QSAsQSAs) [201]) [201]

PrPráácticas cticas Base (Base (BPsBPs) )

[201][201]

Aspectos de Aspectos de AdmonAdmon. (MIs). (MIs)

[177][177]

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 15: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

MMéétodos y Procesos todos y Procesos de IS Actualesde IS Actuales

TickITTickITISO 9001 ISO 9001 (1)(1)CMMCMM (2)(2)BOOTSTRAPBOOTSTRAPISO/IEC 12207ISO/IEC 12207ISO/IEC TR 15504 (SPICE)ISO/IEC TR 15504 (SPICE) (3)(3)BSIBSITrilliumTrilliumMoprosoftMoprosoft

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 16: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Escala de Capacidad Escala de Capacidad de Procesosde Procesos

NivelNivel CMMCMM BootstrapBootstrap SPICESPICE ISO 9001ISO 9001

00 -- -- IncompleteIncomplete FailFail

11 InitialInitial InitialInitial PerformedPerformed --

22 RepeatedRepeated RepeatedRepeatedManagedManaged

--

33 DefinedDefined DefinedDefined EstablishedEstablished --

44 ManagedManaged ManagedManaged PredictablePredictable --

55 OptimizingOptimizing OptimizingOptimizing OptimizingOptimizing PassPass

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 17: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

El Proceso de ISEl Proceso de ISNueva disciplina de Proceso de Nueva disciplina de Proceso de IngenierIngenieríía de Softwarea de Software–– Desarrollo de CMMDesarrollo de CMM–– ISO 9000ISO 9000

Proceso de ISProceso de IS–– FundamentosFundamentos–– ModeloModelo–– EstablecimientoEstablecimiento–– EvaluaciEvaluacióónn–– MejoramientoMejoramiento–– EstandarizaciEstandarizacióónn

…… de procesos de softwarede procesos de software

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 18: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

DefiniciDefinicióón de Proceso de ISn de Proceso de ISConjunto de prConjunto de práácticas cticas secuenciales que son secuenciales que son funcionalmente coherentes y funcionalmente coherentes y reutilizables en la organizacireutilizables en la organizacióón, n, implementaciimplementacióón y administracin y administracióón n de la ingenierde la ingenieríía de software.a de software.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 19: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

HistoriaHistoriaProceso de ISProceso de IS

IngenierIngenieríía de Software & Ciencia de la a de Software & Ciencia de la AdministraciAdministracióónn60s:60s:

IngenierIngenieríía de Procesos y principios de a de Procesos y principios de administraciadministracióón en Ciencia de la n en Ciencia de la AdministraciAdministracióón (n (SimonSimon 60, 60, ScheinSchein 61, 61, EllisEllis & & FredFred 62, Juran 62, Anthony 65, 62, Juran 62, Anthony 65, RichardsonRichardson 66, Hall 67)66, Hall 67)

70s & 80s:70s & 80s:Establecimiento de Ciencia de la Establecimiento de Ciencia de la AdministraciAdministracióón de acuerdo a la tabla de n de acuerdo a la tabla de dede Fundamentos Fundamentos AdministrativosAdministrativos..

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 20: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

HistoriaHistoriaProceso de ISProceso de IS

Conformidad de la calidad a los Conformidad de la calidad a los requisitos y a las especificaciones requisitos y a las especificaciones ((CrosbyCrosby 79, Juran 80, 79, Juran 80, DemingDeming 82)82)–– CCíírculo de rculo de DemingDeming (Plan(Plan--DoDo--CheckCheck--ActAct

PDCA) propuesto en Ciencia de la PDCA) propuesto en Ciencia de la AdministraciAdministracióón: Modelacin: Modelacióón y Ann y Anáálisis de lisis de Procesos de Software.Procesos de Software.

Proyecto ISO TC176 para desarrollar Proyecto ISO TC176 para desarrollar un estun estáándar internacional de sistemas ndar internacional de sistemas de calidad (ISO 9000 91,93,94) de calidad (ISO 9000 91,93,94) aplicable ingenieraplicable ingenieríía e implementado a e implementado en IS (IS0 9001 89,94)en IS (IS0 9001 89,94)

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 21: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

HistoriaHistoriaProceso de ISProceso de IS

70s: Crisis de Software (70s: Crisis de Software (NaurNaur & & RandellRandell 69, 69, BakerBaker 72, 72, BrooksBrooks 75, 75, HoareHoare 75)75)80s: Proceso de Software se reconoce como 80s: Proceso de Software se reconoce como un herramienta de la Ingenierun herramienta de la Ingenieríía de Software a de Software ((BasiliBasili 80, Aron 83, 80, Aron 83, AgrestiAgresti 86, 86, EvansEvans 87, 87, BoehmBoehm 81,86,87, 81,86,87, GilbGilb 88, 88, HumphreyHumphrey 87, 88, 87, 88, 89)89)Desarrollo del Modelo CMM (Desarrollo del Modelo CMM (HumphreyHumphrey 87, 87, PaulkPaulk 93)93)80s: Otros Modelos:80s: Otros Modelos:–– IEEE Software IEEE Software EngineeringEngineering Standard (IEEE 83)Standard (IEEE 83)–– BritishBritish Standard BS 5750 (BSI 87) Standard BS 5750 (BSI 87)

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 22: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Desarrollo Desarrollo TradicionalTradicional

RequerimientosRequerimientos

DiseñoDiseño

Codificación e IntegraciónCodificación e Integración

Prueba y AceptaciónPrueba y Aceptación

MantenimientoMantenimiento

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 23: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

CaracterizaciCaracterizacióón actualn actual

Un sistema a la vezUn sistema a la vez–– Proyectos de SoftwareProyectos de Software–– Desarrollo de software para un cliente externo o Desarrollo de software para un cliente externo o

internointernoCumplir con fecha de entrega (timeCumplir con fecha de entrega (time--toto--marketmarket))–– Enfoque del proyecto es entregar antes de la Enfoque del proyecto es entregar antes de la

fecha lfecha líímitemite–– Todas las decisiones durante el desarrollo son Todas las decisiones durante el desarrollo son

basadas en la prioridad de entregar el proyecto a basadas en la prioridad de entregar el proyecto a tiempotiempo

EvoluciEvolucióón de sistema no es consideradon de sistema no es considerado–– No se considera (o muy poca consideraciNo se considera (o muy poca consideracióón) en n) en

aspectos de mantenimiento y evoluciaspectos de mantenimiento y evolucióón a largo n a largo plazoplazo

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 24: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Problemas Problemas

Tiempo y presupuestoTiempo y presupuesto–– Proyectos de software son Proyectos de software son

sobreestimados/subestimados, fuera de sobreestimados/subestimados, fuera de tiempotiempo

Calidad del ProductoCalidad del Producto–– El costo de un producto de calidad es El costo de un producto de calidad es

substancialsubstancial

Costos de MantenimientoCostos de Mantenimiento–– 80% del costo del sistema es debido a 80% del costo del sistema es debido a

mantenimientomantenimiento

CompetitividadCompetitividad–– Personal de una empresa desarrolladora Personal de una empresa desarrolladora

de software dedicada a mantener software, de software dedicada a mantener software, en lugar de crear nuevos sistemasen lugar de crear nuevos sistemas

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 25: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

CaracterizaciCaracterizacióón Deseadan Deseada

Costos de DesarrolloCostos de Desarrollo–– Reducir drReducir dráásticamente los sticamente los

costos de Desarrollo de costos de Desarrollo de SoftwareSoftware

CalidadCalidad–– AdemAdemáás de Confiable, Fs de Confiable, Fáácil cil

de Mantener, Uso adecuado de Mantener, Uso adecuado de recursosde recursos

–– Calidad vs. CostoCalidad vs. Costo

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 26: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

CaracterizaciCaracterizacióón n DeseadaDeseada

Tiempo de mercadoTiempo de mercado–– Costo de desarrollo de un Costo de desarrollo de un

producto no es importanteproducto no es importante–– Tiempo de mercado es una Tiempo de mercado es una

ventaja competitivaventaja competitiva–– DefiniciDefinicióón de n de

requerimientos hasta la requerimientos hasta la distribucidistribucióón del producto n del producto es de mayor relevancia es de mayor relevancia

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 27: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Soluciones TentativasSoluciones Tentativas

McIlroyMcIlroy, 1969: Reutilizaci, 1969: Reutilizacióón de n de software existente a travsoftware existente a travéés de s de componentescomponentes–– Reducir costos de desarrolloReducir costos de desarrollo–– Mejora de la calidad del Mejora de la calidad del

productoproducto–– TimeTime--toto--marketmarket se reducese reduce–– ReducciReduccióón en los costos de n en los costos de

MantenimientoMantenimiento

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 28: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ReutilizaciReutilizacióónn

Proceso de creaciProceso de creacióón de software a partir de n de software a partir de software existente en lugar del desarrollo software existente en lugar del desarrollo tradicional de softwaretradicional de softwareReutilizaciReutilizacióón de software se enfoca a cn de software se enfoca a cóódigo digo y estructuras de datos.y estructuras de datos.A medida que la complejidad de un sistema A medida que la complejidad de un sistema se incrementa, la reutilizacise incrementa, la reutilizacióón en las n en las diferentes etapas del Desarrollo de Software diferentes etapas del Desarrollo de Software es un prioridad.es un prioridad.La Arquitectura de un Sistema provee un La Arquitectura de un Sistema provee un medio de explotar reutilizacimedio de explotar reutilizacióón no sn no sóólo de lo de estructuras y algoritmos.estructuras y algoritmos.Ahora tenemos que diseAhora tenemos que diseññar componentes ar componentes para ser reutilizados.para ser reutilizados.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 29: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Lecciones AprendidasLecciones Aprendidas

Todo programa de reutilizaciTodo programa de reutilizacióón n dentro de una empresa debe ser dentro de una empresa debe ser planeado y tomar un enfoque de planeado y tomar un enfoque de arriba hacia abajoarriba hacia abajo–– ReutilizaciReutilizacióón oportunan oportuna–– ReutilizaciReutilizacióón Planeadan Planeada

Un enfoque de reutilizaciUn enfoque de reutilizacióón de n de abajo hacia arriba no funciona en abajo hacia arriba no funciona en la prla prááctica.ctica.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 30: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ReutilizaciReutilizacióón Oportunan Oportuna

Se asume que las piezas de Se asume que las piezas de software seleccionadas son software seleccionadas son combinadas para solucionar el combinadas para solucionar el problema del producto de problema del producto de software en el cual se estsoftware en el cual se estáátrabajando.trabajando.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 31: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ReutilizaciReutilizacióón Planeadan Planeada

Requiere que la organizaciRequiere que la organizacióón dedique n dedique un esfuerzo en desarrollar artefactos un esfuerzo en desarrollar artefactos reutilizables que provean reutilizables que provean abstracciones correctas en niveles abstracciones correctas en niveles correctos de variabilidad para los correctos de variabilidad para los productos de software de la productos de software de la organizaciorganizacióón.n.Recursos reutilizables son Recursos reutilizables son desarrollados y presentados como desarrollados y presentados como partes de una estructura de alto nivel.partes de una estructura de alto nivel.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 32: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Arquitectura y LArquitectura y Lííneasneas

ArquitecturaDe Software

IS Basada en Componentes

Diseño de Arquitectura Líneas de Productos

Calidad Costo de DesarrolloTime-to Market Costo Mantenimiento

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 33: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Contexto del DiseContexto del Diseñño de una o de una Arquitectura de SoftwareArquitectura de Software

Clientes Mercadotecnia Ingeniería

Requerimientos

Selección

Procesode AS

Producto

Completo?Implementación

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 34: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

AS en Desarrollo de SoftwareAS en Desarrollo de Software

Requerimientos

Diseño

Codificación e Integración

Prueba y Aceptación

ProcesoAS

Mantenimiento

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 35: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Proceso de AS

DiseñoFuncional

Especificaciones de Requerimientos

Arquitecturade Aplicación

Estimar Atributosde Calidad

TransformarArquitectura

Soluciones deOptimización

QADiseño Arquitectónico

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 36: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Proceso de ArquitecturaProceso de Arquitectura(Reverse (Reverse EngineeringEngineering))

SistemaActual

ArquitecturaSistema

ArquitecturaDominio

NuevoDiseño

Librería de ComponentesReutilizables

Extracción

Generalización

Reutilización

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 37: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Proceso de ArquitecturaProceso de Arquitectura((ForwardForward EngineeringEngineering))

DiseñoFuncional

Especificaciones de Requerimientos

Arquitecturade Aplicación

Estimar Atributosde Calidad

TransformarArquitectura

Soluciones deOptimización

QAArquitectura del Sistema

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 38: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

MetodologMetodologíía DFSSa DFSSDefine Measure Analyze Design Validate

ProjectStartup

ProjectScope

Planning & Management

Gather CustomerRequirements

TranslateReqs. into CTQs

(QFD)

PerformFunctionalAnalysis

GenerateFunctional

Reqs.

DevelopHigh-LevelConcepts

ElaborateDetailed Design

Specify ProcessVariables

Prototyping & Testing

PrototypingResults

Production & testing

Performanceresults

TranslateReqs. into CTQs

(QFD)

Elaborate DesignReqs

Evaluate Detaileddesign capacity

Evaluate High-leveldesign capacity

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 39: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ProcesoProceso de AS/DFSSde AS/DFSSIntroducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 40: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

AseguramientoAseguramiento de la de la calidadcalidadUn Un sistemasistema de de calidadcalidad ees un proceso que asegura y s un proceso que asegura y demuestra la calidad de los productos y servicios que demuestra la calidad de los productos y servicios que produce. produce. –– Incluye polIncluye polííticas, procedimientos, herramientas, ticas, procedimientos, herramientas,

recursos tecnolrecursos tecnolóógicos y humanos.gicos y humanos.Un sistema de calidad requiere que el proceso de Un sistema de calidad requiere que el proceso de calidad sea administrado para asegurar su efectividad calidad sea administrado para asegurar su efectividad y eficiencia cuando las circunstancias cambien.y eficiencia cuando las circunstancias cambien.El sistema de calidad debe de:El sistema de calidad debe de:–– Asegurar a los clientes y desarrolladores que los Asegurar a los clientes y desarrolladores que los

productos de software producidos por el proceso de productos de software producidos por el proceso de calidad sercalidad seráán de calidad.n de calidad.

–– Poderse auditar, a travPoderse auditar, a travéés de la documentacis de la documentacióón, n, bitbitáácoras de calidad, mediciones que demuestren el coras de calidad, mediciones que demuestren el logro de calidad y la efectiva operacilogro de calidad y la efectiva operacióón del sistema de n del sistema de calidad.calidad.

–– Seguir una filosofSeguir una filosofíía de mejoramiento continuo de a de mejoramiento continuo de cualquier aspecto del proceso de desarrollo de cualquier aspecto del proceso de desarrollo de software.software.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 41: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Inicio del Programa de Inicio del Programa de CalidadCalidad

Preparar polPreparar políítica de calidadtica de calidad–– Documento que expresa el compromiso de la Documento que expresa el compromiso de la

empresa a la calidad asempresa a la calidad asíí como las expectativas de como las expectativas de la direccila direccióón del programa de calidad.n del programa de calidad.

Establecer el apoyo de la organizaciEstablecer el apoyo de la organizacióón a la n a la calidadcalidad–– Formar un equipo de mejoramiento de la calidadFormar un equipo de mejoramiento de la calidad

Evaluar las necesidades de la empresaEvaluar las necesidades de la empresaDiseDiseññar el sistema de calidad para satisfacer dichas ar el sistema de calidad para satisfacer dichas necesidadesnecesidadesPlanear y monitorear la implementaciPlanear y monitorear la implementacióón del sistema n del sistema de calidadde calidadComunicar el programa de calidad al staffComunicar el programa de calidad al staffEntrenamiento y actividades de soporte al programaEntrenamiento y actividades de soporte al programaPreparar y revisar procedimientos y estPreparar y revisar procedimientos y estáándaresndaresSeleccionar mSeleccionar méétodos y herramientastodos y herramientasEstablecer un programa de mEstablecer un programa de méétricas para medir el tricas para medir el proceso de software, producto y serviciosproceso de software, producto y servicios

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 42: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

PlaneaciPlaneacióón del Programa de n del Programa de CalidadCalidad

Evaluar a la empresaEvaluar a la empresa–– Identificar las debilidades y fortalezas de Identificar las debilidades y fortalezas de

la empresala empresa–– Comparar prComparar práácticas actuales contra cticas actuales contra

buenas prbuenas práácticas de referencia (la que cticas de referencia (la que mejor se aproxime a las necesidades)mejor se aproxime a las necesidades)

–– Considerar Considerar CMMiCMMi, SPICE, , SPICE, BootstrapBootstrap, , MoprosoftMoprosoft, etc., etc.

–– Considerar un consultor de gestiConsiderar un consultor de gestióón de n de calidad con antecedentes scalidad con antecedentes sóólidos en el lidos en el desarrollo de software, en particular con desarrollo de software, en particular con experiencia prexperiencia prááctica en el disectica en el diseñño e o e implementaciimplementacióón programas de calidad.n programas de calidad.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 43: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

PlaneaciPlaneacióónn……DiseDiseññar el sistema de calidadar el sistema de calidad–– Los objetivos deben de poderse medir, en Los objetivos deben de poderse medir, en

lo posible, para poder alinearse con las lo posible, para poder alinearse con las necesidades de la empresa: necesidades de la empresa:

Reducir cantidad de defectos en prueba y Reducir cantidad de defectos en prueba y operacioperacióón, n, Mejorar productividad, Mejorar productividad, Mejorar aproximaciones de entrega, Mejorar aproximaciones de entrega, Lograr alguna certificaciLograr alguna certificacióón.n.

–– Elaborar Manual de Calidad con el diseElaborar Manual de Calidad con el diseñño o del sistema de calidad: del sistema de calidad:

QuQuéé se necesita hacerse necesita hacerQuien lo va ha hacerQuien lo va ha hacerCuando se va ha hacerCuando se va ha hacerComo se va hacerComo se va hacer

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 44: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

PlaneaciPlaneacióónn……El Manual de Calidad serEl Manual de Calidad seráá–– Sujeto a un control estricto de versionesSujeto a un control estricto de versiones

AprobaciAprobacióón y distribucin y distribucióón apropiadan apropiadaBitBitáácora de usuarios autorizadoscora de usuarios autorizadosLiberaciLiberacióón de nuevas versionesn de nuevas versionesRetiro de versiones caducasRetiro de versiones caducas

El Manual de Calidad contiene:El Manual de Calidad contiene:PolPolíítica y objetivos de calidad de la empresatica y objetivos de calidad de la empresaOrganigrama mostrando responsabilidades y Organigrama mostrando responsabilidades y actividades del personal que gestiona, realiza actividades del personal que gestiona, realiza y verifica cualquier tarea que afecta la calidady verifica cualquier tarea que afecta la calidadDescripciDescripcióón del modelo de ciclo de vidan del modelo de ciclo de vidaRelaciRelacióón del sistema de calidad con el n del sistema de calidad con el estestáándar seleccionadondar seleccionadoReferencia detallada a procedimientos y Referencia detallada a procedimientos y estestáándaresndares

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 45: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

PlaneaciPlaneacióónn……Planear la implementaciPlanear la implementacióónn–– La introducciLa introduccióón de un sistema de calidad en una n de un sistema de calidad en una

empresa tiene el mismo grado de complejidad que un empresa tiene el mismo grado de complejidad que un proyecto de desarrollo de software a gran escala.proyecto de desarrollo de software a gran escala.

–– Se debe elaborar un plan completo y detallando fechas, Se debe elaborar un plan completo y detallando fechas, actividades, logros, entregables y recursos necesarios actividades, logros, entregables y recursos necesarios en la implementacien la implementacióón del sistema.n del sistema.

–– Actividades a realizar:Actividades a realizar:Implementar del programa culturalImplementar del programa culturalAdoptar de un modelo de ciclo de vidaAdoptar de un modelo de ciclo de vidaDiseDiseññar un sistema de control de documentosar un sistema de control de documentosElaborar y documentar procedimientos y estElaborar y documentar procedimientos y estáándares para ndares para cada actividad y entregable de cada fase del ciclo de vidacada actividad y entregable de cada fase del ciclo de vidaElaborar y documentar procedimientos y estElaborar y documentar procedimientos y estáándares de ndares de las actividades de soportelas actividades de soporteDefinir e implementar un programa de mDefinir e implementar un programa de méétricastricas..Revisar ManualRevisar ManualEntrenamiento y apreciaciEntrenamiento y apreciacióón del sistema de calidad.n del sistema de calidad.Programa de auditoria de calidadPrograma de auditoria de calidadAdministraciAdministracióón de revisionesn de revisionesEvaluaciEvaluacióón de acuerdo al estn de acuerdo al estáándar o modelo seleccionadondar o modelo seleccionado

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 46: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Las nuevas tendencias que Las nuevas tendencias que impulsarimpulsaráán lan la tecnologtecnologííaa

La La JornadaJornada 08/03/200608/03/2006SSimposioimposio IT IT ExpoExpo de de GartnerGartner, que se llev, que se llevóó a cabo en a cabo en San Francisco, California,San Francisco, California, los analistaslos analistas examinaron examinaron cuatrocuatro tendencias que impulsan esta transformacitendencias que impulsan esta transformacióón:n:–– HHomogeneizaciomogeneizacióónn y consumismoy consumismo;;–– VVirtualizaciirtualizacióónn y y teratera--arquitecturasarquitecturas; ; –– MModelosodelos de entrega de software y estilos de desarrollode entrega de software y estilos de desarrollo, , –– CComunidadesomunidades y colaboraciy colaboracióónn..

"En los siguientes 30 a"En los siguientes 30 añños continuaremos os continuaremos presenciando una mayor penetracipresenciando una mayor penetracióón de la tecnologn de la tecnologíía a en lasen las empresas, pero la verdadera transformaciempresas, pero la verdadera transformacióón n serseráá en la forma en que la tecnologen la forma en que la tecnologíía nos llega comoa nos llega comoindividuos y modifica la manera en que trabajamos y individuos y modifica la manera en que trabajamos y vivimos", sevivimos", seññalalóó David David WillisWillis, vicepresidente de, vicepresidente deinvestigaciinvestigacióón de n de GartnerGartner. ". "Si los pasados 30 aSi los pasados 30 añños han os han sido de entregar tecnologsido de entregar tecnologíía a la empresa, losa a la empresa, lossiguientes 30 sersiguientes 30 seráán sobre cn sobre cóómo la tecnologmo la tecnologíía a transformartransformaráá la vida de los individuosla vida de los individuos."."

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 47: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

HHomogeneizaciomogeneizacióónn y consumismoy consumismoMuchos segmentos de tecnologMuchos segmentos de tecnologíía ya son un bien de consumo, lo a ya son un bien de consumo, lo que implica que ya estque implica que ya estáánn homogeneizados. Las PC, el homogeneizados. Las PC, el almacenamiento y el ancho de banda sonalmacenamiento y el ancho de banda son esencialmente esencialmente homoghomogééneos, y losneos, y los compradores pueden obtener compradores pueden obtener fundamentalmente el mismo "producto" sinfundamentalmente el mismo "producto" sin importar quimportar quéé marca marca elijan. Loselijan. Los analistas de analistas de GartnerGartner observan que esta tendencia observan que esta tendencia continuarcontinuaráá, y absorber, y absorberáá tambitambiéén elementos de n elementos de softwaresoftware y serviciosy servicios..La creciente homogeneizaciLa creciente homogeneizacióón trae consigo una baja de precios n trae consigo una baja de precios que hace que los productos o servicios seque hace que los productos o servicios se coloquen al alcance de coloquen al alcance de los bolsillos de las personas y empresas. La industria de TI, allos bolsillos de las personas y empresas. La industria de TI, alseguir esteseguir este camino, comienza a experimentar un proceso que camino, comienza a experimentar un proceso que GartnerGartner denomina denomina consumismo de las tecnologconsumismo de las tecnologíías deas de la la informaciinformacióónn, , el cual se refiere al impacto que las tecnologel cual se refiere al impacto que las tecnologíías, as, productos y enfoques adoptados por losproductos y enfoques adoptados por los consumidores o diseconsumidores o diseññados ados para su uso tienen sobre el resto del mundo de TI (desarrolladorpara su uso tienen sobre el resto del mundo de TI (desarrolladores,es,proveedores de tecnologproveedores de tecnologíía y empresas).a y empresas).""En general, la homogenizaciEn general, la homogenizacióón y el consumismo se enfocan en n y el consumismo se enfocan en hacer mhacer máás accesible la tecnologs accesible la tecnologíía, losa, los cambios en el cambios en el comportamiento de la sociedad que surgen debido a esto, ascomportamiento de la sociedad que surgen debido a esto, asíícomo disminuir el impactocomo disminuir el impacto que esos cambios tienen en una que esos cambios tienen en una empresa en tempresa en téérminos de crminos de cóómo satisface las demandas y mo satisface las demandas y expectativasexpectativas cambiantes de los consumidores y empleadoscambiantes de los consumidores y empleados", indic", indicóóCebe Cebe PrenticePrentice, vicepresidente y analista, vicepresidente y analista distinguido de distinguido de GartnerGartner. . "En conjunto, estas tendencias marcan un gran cambio en el "En conjunto, estas tendencias marcan un gran cambio en el equilibrio de poderequilibrio de poder entre los proveedores de tecnologentre los proveedores de tecnologíía, las a, las empresas, los individuos y hasta el Estado".empresas, los individuos y hasta el Estado".

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 48: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

VVirtualizaciirtualizacióónn y y teratera--arquitecturasarquitecturasSe estSe estáá volviendo algo comvolviendo algo comúún encontrar instancias donde lan encontrar instancias donde lavirtualizacivirtualizacióónn de los servidores crea mde los servidores crea mááquinas virtuales oquinas virtuales oparticiones sobre un solo aparato fparticiones sobre un solo aparato fíísico. Su usosico. Su uso mmáás coms comúún es n es para unir varios servidores subutilizados en servidores virtualepara unir varios servidores subutilizados en servidores virtuales s dentro de una soladentro de una sola mmááquina. Esto puede mejorar la utilizaciquina. Esto puede mejorar la utilizacióón de n de los servidores en 80 por ciento.los servidores en 80 por ciento."Las aplicaciones ya no est"Las aplicaciones ya no estáán destinadas a una caja, pues los n destinadas a una caja, pues los encargados de sistemas pueden destinarencargados de sistemas pueden destinar servidores virtuales a los servidores virtuales a los recursos que satisfagan mejor sus demandas computacionales", recursos que satisfagan mejor sus demandas computacionales", afirmafirmóó MartinMartin ReynoldsReynolds, vicepresidente y miembro de la junta de , vicepresidente y miembro de la junta de GartnerGartner. "Esto da a los l. "Esto da a los lííderes de TI la flexibilidadderes de TI la flexibilidad para administrar para administrar sus siempre cambiantes prioridades de demanda de recursos sus siempre cambiantes prioridades de demanda de recursos computacionales y de usarcomputacionales y de usar mejor su infraestructura."mejor su infraestructura."La infraestructura de TI requiere construirse con componentes La infraestructura de TI requiere construirse con componentes granulares que se descubren uno a otro ygranulares que se descubren uno a otro y se ensamblan se ensamblan automautomááticamente en recursos computacionales. Se vuelve ticamente en recursos computacionales. Se vuelve incrementableincrementable sin intervencisin intervencióónn humana mhumana máás alls alláá del prenderlos y del prenderlos y organizarlos. "Esta aproximaciorganizarlos. "Esta aproximacióón n incrementableincrementable y de ceroy de ceroadministraciadministracióón conduce a la n conduce a la teratera--arquitectura, infraestructura de arquitectura, infraestructura de sistemas que es capaz de incrementarsistemas que es capaz de incrementar las capacidades las capacidades computacionales en computacionales en óórdenes de magnitud sobre lo que podemos rdenes de magnitud sobre lo que podemos hacer hoy en dhacer hoy en díía, dentroa, dentro del mismo presupuestodel mismo presupuesto", afirm", afirmóó ReynoldsReynolds..

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 49: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

MModelosodelos de entrega de software y de entrega de software y estilos de desarrolloestilos de desarrollo

El concepto de creciente El concepto de creciente granularidadgranularidad, o sea nuevas formas de , o sea nuevas formas de administrar y entregar servicios paraadministrar y entregar servicios para satisfacer lassatisfacer las necesidades del necesidades del negocio, es tambinegocio, es tambiéén importante en la evolucin importante en la evolucióón de la industria deln de la industria delsoftware. El tercer par de tendencias se refiere a la forma en qsoftware. El tercer par de tendencias se refiere a la forma en que el ue el software se desarrolla, y a la formasoftware se desarrolla, y a la forma cambiante en que los usuarios cambiante en que los usuarios lo adquieren. Los analistas de lo adquieren. Los analistas de GartnerGartner afirman que los nuevos afirman que los nuevos modelosmodelos para entrega y desarrollo de software se enfocan en las para entrega y desarrollo de software se enfocan en las personas.personas."El control se est"El control se estáá desplazando de los programadores hacia el desplazando de los programadores hacia el ppúúblico en general", agregblico en general", agregóó DarylDaryl Plumier, vicepresidente de grupo Plumier, vicepresidente de grupo y jefe de la junta de y jefe de la junta de GartnerGartner. "Nos estamos desplazando de un . "Nos estamos desplazando de un mundomundo donde se esperaba que las personas se comportaran de la donde se esperaba que las personas se comportaran de la misma forma que las computadoras, hacia unmisma forma que las computadoras, hacia un mundo donde las mundo donde las mmááquinas trabajan de la forma en que las personas se comportan. quinas trabajan de la forma en que las personas se comportan. Todo se trata de loTodo se trata de lo que hacemos con el software en lugar de lo que que hacemos con el software en lugar de lo que ééste es, o cste es, o cóómo se aplica."mo se aplica."Hay tres principios que guHay tres principios que guíían este nuevo modelo de entrega: no an este nuevo modelo de entrega: no seas dueseas dueñño, renta; no compreso, renta; no compres aplicaciones, adquiere soluciones, aplicaciones, adquiere soluciones, y no compres contenidos, sino capacidades.y no compres contenidos, sino capacidades.La industria del software continLa industria del software continúúa desplaza desplazáándose hacia un modelo ndose hacia un modelo de software como servicio, el cualde software como servicio, el cual provee flexibilidad que conduce provee flexibilidad que conduce a agilidad. Proporciona muchas opciones a los jefes de TI y luega agilidad. Proporciona muchas opciones a los jefes de TI y luegoopermite que la empresa decida cpermite que la empresa decida cóómo se usarmo se usaráán esas opciones.n esas opciones.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 50: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

CComunidadesomunidades y colaboraciy colaboracióónnLos individuos, asLos individuos, asíí como los empleados y clientes, han adoptado las como los empleados y clientes, han adoptado las comunidades virtuales, ascomunidades virtuales, asíí que lasque las compacompañíñías no podras no podráán evitar hacer lo n evitar hacer lo mismo.mismo. Los analistas de Los analistas de GartnerGartner afirman que actualmente elafirman que actualmente el trabajador trabajador promedio participa en 10 comunidades. En los siguientes 10 apromedio participa en 10 comunidades. En los siguientes 10 añños, 80 por os, 80 por ciento del trabajociento del trabajo realizado por empleados serrealizado por empleados seráá colaborativocolaborativo y no de y no de personas trabajando por spersonas trabajando por síí mismas.mismas.Las personas que estLas personas que estáán entrando a la fuerza laboral tienden a trabajar en n entrando a la fuerza laboral tienden a trabajar en colaboracicolaboracióón y estn y estáán centradasn centradas en su comunidad. Los estudiantes de en su comunidad. Los estudiantes de preparatoria y universidad estpreparatoria y universidad estáán aceptando las redes comunitariasn aceptando las redes comunitarias sociales. sociales. Sin embargo, cuando los analistas de Sin embargo, cuando los analistas de GartnerGartner hablan con las compahablan con las compañíñías, as, muchas no reconocenmuchas no reconocen las tecnologlas tecnologíías comunitarias y de colaboracias comunitarias y de colaboracióón como n como inversiones prioritarias.inversiones prioritarias."A la fecha, la comunidad y la colaboraci"A la fecha, la comunidad y la colaboracióón han estado en el margen del n han estado en el margen del pensamiento de las personas,pensamiento de las personas, son secundarias a otras consideraciones", son secundarias a otras consideraciones", indicindicóó KathyKathy HarrisHarris, vicepresidente y analista de , vicepresidente y analista de GartnerGartner. "De. "De hoy en hoy en adelante, estas tecnologadelante, estas tecnologíías tienen que estar en primer orden de as tienen que estar en primer orden de consideraciconsideracióón a la hora de fijar lasn a la hora de fijar las prioridades de inversiprioridades de inversióón en TI."n en TI."La La úúltima generaciltima generacióón de tecnologn de tecnologíía de Internet, incluyendo la a de Internet, incluyendo la webweb 2.0 y la 2.0 y la arquitectura orientada aarquitectura orientada a servicios, extenderservicios, extenderáá el alcance, escala y potencial de el alcance, escala y potencial de las comunidades y del trabajo en colaboracilas comunidades y del trabajo en colaboracióón.n. LosLos analistas de analistas de GartnerGartnerafirman que el cambio irafirman que el cambio iráá mmáás alls alláá de caracterde caracteríísticas innovadoras e sticas innovadoras e interesantes.interesantes. Esta generaciEsta generacióón soportarn soportaráá nuevos enfoques de colaboracinuevos enfoques de colaboracióón n para el desarrollo de software e integrarpara el desarrollo de software e integraráá tecnologtecnologíías de consumo para as de consumo para lograr ambientes computacionales corporativos.lograr ambientes computacionales corporativos.

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Introducción

Modelos & Estándares

Proceso

Arquitectura de Software

AseguramientoCalidad de SW

Referencias

Page 51: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

Preguntas?Preguntas?Dr. Cuauhtémoc Lemus Olalde

[email protected]

Septiembre, 2007

www.cimat.mx/~clemola

Page 52: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ReferenciasReferenciasISO ISO StandardsStandards httphttp://://www.praxiom.comwww.praxiom.com//TantaraTantara HotlistHotlist httphttp://://www.tantara.ab.cawww.tantara.ab.ca//info.htminfo.htmBest Best practicespractices in CMM in CMM httphttp://://www.gartnerconnects.comwww.gartnerconnects.com//reprintsreprints//wiprowipro/CS/CS--1919--6994/1.6994/1.htmhtmSoftware Software -- thethe arrowheadarrowhead ofof India'sIndia's IT IT weaponryweaponryhttphttp://://atimes.comatimes.com//reportsreports//BL07Ai01BL07Ai01..htmlhtmlPressmanPressman S. S. RogerRoger, Ingenier, Ingenieríía de Software: Un enfoque pra de Software: Un enfoque prááctico. ctico. 5ta. Edici5ta. Edicióón, n, MacGrawMacGraw Hill, 2002.Hill, 2002.LewisLewis E. William, Software E. William, Software TEstingTEsting andand ContinuousContinuous QualityQualityImprovementImprovement CRC CRC PressPress, 2000, 2000SommervilleSommerville, , IanIan, Ingenier, Ingenieríía de Software, a de Software, AddisonAddison--WesleyWesley, Sexta , Sexta EdiciEdicióón, 2002.n, 2002.SandersSanders, , JocJoc, , andand Curran Curran EugeneEugene, Software , Software QualityQuality: A : A frameworkframeworkforfor successsuccess in software in software developmentdevelopment andand supportsupport, ACM , ACM PressPress, , 1994.1994.DrabickDrabick RogerRoger, , ““A A ProcessProcess ModelModel ofof Software Software QualityQualityAssuranceAssurance/Software /Software QualityQuality EngineeringEngineering””, , Software Software QualityQualityProfessional, Professional, Volumen 2, Volumen 2, IssueIssue 4, Septiembre 2000.4, Septiembre 2000.LaymanLayman BethBeth, , RohdeRohde SharonSharon, , ““ExperiencesExperiences implementingimplementing a a software software projectproject measurementmeasurement methodologymethodology””, , Software Software QualityQualityProfessional, Professional, Volumen 2, Volumen 2, IssueIssue 1, Diciembre 1999.1, Diciembre 1999.CrosbyCrosby, P., , P., QualityQuality isis Free, Free, McGrawMcGraw--Hill, 1979.Hill, 1979.

Page 53: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ReferenciasReferenciasGarvinGarvin 19841984AlbretchAlbretch, A. J., , A. J., ““MeasuringMeasuring ApplicationApplication DevelopmentDevelopment ProductivityProductivity””, , ProceeedingsProceeedings IBM IBM ApplicationApplication DevelopmentDevelopment SymposiumSymposium, , MontereyMonterey, , CA, CA, OctoberOctober 1979, pp. 831979, pp. 83--9292JonesJones, C., , C., EstimatingEstimating Software Software CostsCosts, , McGrawMcGraw--Hill,1998.Hill,1998.GradyGrady, R. B., , R. B., ““PracticalPractical resultsresults fromfrom measuringmeasuring software software qualityquality””, , CommunicationsCommunications ofof thethe ACM, Vol. 36, ACM, Vol. 36, NumberNumber 11, pp. 6211, pp. 62--68, 1993.68, 1993.BarnardBarnard, J., , J., PricePrice, A., , A., ““ManagingManaging codecode inspectioninspection informationinformation””, , IEEE Software, IEEE Software, VolumeVolume 11, 11, NumberNumber 2, pp. 592, pp. 59--69, 1994.69, 1994.OffenOffen, R. J., , R. J., JeffreyJeffrey, R., , R., ““EstablishingEstablishing software software measurementmeasurementprogramsprograms””, IEEE Software , IEEE Software VolumeVolume 14, 14, NumberNumber 2, pp. 452, pp. 45--54, 1997.54, 1997.Hall, T., Hall, T., FentonFenton, N., , N., ““ImplementingImplementing effectiveeffective software software metricsmetricsprogramprogram””, IEEE Software, , IEEE Software, VolumeVolume 14, 14, NumberNumber 2, pp. 552, pp. 55--64, 199764, 1997PulfordPulford, K., , K., KuntzmannKuntzmann--CombellesCombelles, A., et al., A , A., et al., A QuantitativeQuantitativeApproachApproach toto Software Software ManagementManagement, , AddisonAddison--WesleyWesley, 1996., 1996.GilbGilb, T., , T., PrinciplesPrinciples ofof Software Software EngineeringEngineering ManagementManagement, , AddisonAddison--WesleyWesley, 1988., 1988.McCallMcCall, J. A., , J. A., CavanoCavano, J. P., , J. P., ““A A FrameworkFramework forfor thethe measurementmeasurement ofofSoftware Software QualityQuality””, , ProceedingsProceedings ofof ACM Software ACM Software QualityQuality AssuranceAssuranceWorkshopWorkshop, , NovemberNovember 1978, pp. 1331978, pp. 133--139.139.BasiliBasili 19961996ShewartShewart 19201920

Page 54: Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT

ReferenciasReferenciasKautzKautz, K., , K., ““MakingMaking sensesense ofof MaeasurementMaeasurement forfor SmallSmall OrganizationsOrganizations””, IEEE , IEEE Software, Software, MacrhMacrh 1999, pp. 141999, pp. 14--2020GrableGrable, R., et al., , R., et al., ““MetricsMetrics forfor SmallSmall ProjectsProjects: : ExperiencesExperiences atat SEDSED””, IEEE , IEEE Software, Software, MarchMarch 1999, pp. 211999, pp. 21--2929ParkPark, R. E., et al., , R. E., et al., ““GoalGoal DrivenDriven Software Software MeasurementMeasurement-- A A GuidebookGuidebook””, CMU, CMU--SEISEI--9696--BHBH--002, Software 002, Software EngineeringEngineering INstituteINstitute, CMU, , CMU, AgugustAgugust, 1996., 1996.MillsMills, H. D., et al., , H. D., et al., ““CleanroomCleanroom Software Software EngineeringEngineering””, IEEE Software , IEEE Software VolumeVolume4, 4, NumberNumber 5, 5, SeptemberSeptember, pp. 19, pp. 19--24, 1987.24, 1987.AdamsAdams, E. N., , E. N., ““OptimizingOptimizing preventativepreventative serviceservice ofof software software productsproducts””, IBM , IBM JournalJournal ResearchResearch andand DevelopmentDevelopment, , VolumeVolume 28, 28, NumberNumber 1, pp. 21, pp. 2--14, 1984.14, 1984.LyuLyu, M., Software , M., Software ReliabilityReliability EngineeringEngineering, , McGrawMcGraw--Hill, 1996.Hill, 1996.MyersMyers, G., , G., TheThe ArtArt ofof Software Software TestingTesting, , WileyWiley, 1979., 1979.DavisDavis, A., 201 , A., 201 PrinciplesPrinciples ofof Software Software DevelopmentDevelopment, , McGrawMcGraw--Hill, 1995Hill, 1995Bach 1994Bach 1994FreedmanFreedman, D. P., , D. P., WeinbergWeinberg, G. M., , G. M., HandbookHandbook ofof WalkthroughsWalkthroughs, , InspectionsInspectionsandand TechnicalTechnical ReviewsReviews, , DorsetDorset HouseHouse, 1990, 1990SchulmeyerSchulmeyer, G. C., , G. C., McManusMcManus, J. I., , J. I., HandbookHandbook ofof Software Software QualityQuality AssuranceAssurance, , PrenticePrentice--Hall, 1998Hall, 1998KaplanKaplan, C., Clark, R., , C., Clark, R., TangTang, V., , V., SecretsSecrets ofof Software Software QualityQuality: 40 : 40 InnovationsInnovationsfromfrom IBM, IBM, McGrawMcGraw--Hill, 1995Hill, 1995KanKan, S. H., , S. H., MetricsMetrics andand ModelsModels in Software in Software QualityQuality EngineeringEngineering, , AddisonAddison--WesleyWesley, 1995, 1995