Académique Documents
Professionnel Documents
Culture Documents
Septiembre 2007
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Caracterstica de Calidad: caracterstica inherente de un producto, proceso sistema relacionada con un requisito
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Control de la calidad: orientada al cumplimiento de los requisitos de la calidad Aseguramiento de la calidad: orientada a proporcionar confianza en que se cumplirn los requisitos de la calidad Mejora de la calidad: orientada a aumentar la capacidad de cumplir con los requisitos de la calidad Mejora continua: actividad recurrente para aumentar la capacidad para cumplir los requisitos
Proceso mediante el cual se establecen los objetivos y se identifican oportunidades para la mejora de un proceso continuo a travs del uso de los hallazgos de la auditoria, el anlisis de los datos, la revisin por la direccin u otros medios, y generalmente conduce a la accin correctiva y preventiva.
Qu es calidad?
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Calidad de software
Como entidad intelectual (intangible), es ms difcil de caracterizar que los objetos tangibles
Qu es calidad?
Introduccin Modelos & Estndares
Pensamiento Sistmico
Proceso de IS
Proceso
Arquitectura de Software
Administracin Calidad SW
Aseguramiento Calidad de SW
Calidad de Software
Arquitecturas de SW
Referencias
Modelos de Madurez
Mtricas
Componentes Reutilizables
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Mapa Conceptual PS e IS
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Calidad de SW
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Calidad de SW
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Utilizar las mejores prcticas de ingeniera de software Utilizar herramientas apropiadas Personal debidamente entrenado y con habilidades, con responsabilidades e instrucciones bien definidas Enfasis en la prevencin o deteccin temprana de defectos, en lugar de deteccin y correccin de defectos
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Administradores
Referencias
Proceso
organizacin proceso
Proceso Derivado del Modelo de Referencia Proceso Derivado del Modelo de Referencia
Arquitectura de Software
Aseguramiento Calidad de SW
Proceso de Administracin
Proceso de Administracin
Referencias
Proceso de Desarrollo
Proceso de Desarrollo
Proyecto 1
Proyecto n
Enfoques de IS
Introduccin
Enfoque
Modelos & Estndares Programacin
Descripcin
D. Funcional P. Estructurada OOP CBP Cascada Espiral Prototipos CASE UML CSP SDL Z Clean Room CMM Trillium BOOTSTRAP ISO/IEC 15504
Arquitectura de Software
Aseguramiento Calidad de SW
H H
L L
L L
Referencias
Procesos de IS
ISO 9001
Proceso
Categora
Niveles [5]
Categoras [9]
Arquitectura de Software Areas Prcticas (KPAs) [18] Procesos (PRs) [35] Tpicos Principales de Areas (MTAs) [20]
Aseguramiento Calidad de SW
Proceso
Procesos [32]
Prctica
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Proceso
0 1 2 3 4 5
Incomplete
Fail
Arquitectura de Software
Initial
Initial
Performed
Aseguramiento Calidad de SW
Repeated
Repeated
Managed
Referencias
Defined
Defined
Established
Managed
Managed
Predictable
Optimizing
Optimizing
Optimizing
Pass
El Proceso de IS
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Proceso de IS
Aseguramiento Calidad de SW
Referencias
de procesos de software
Definicin de Proceso de IS
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Conjunto de prcticas secuenciales que son funcionalmente coherentes y reutilizables en la organizacin, implementacin y administracin de la ingeniera de software.
Referencias
Historia Proceso de IS
Ingeniera de Software & Ciencia de la Administracin
60s: Ingeniera de Procesos y principios de administracin en Ciencia de la Administracin (Simon 60, Schein 61, Ellis & Fred 62, Juran 62, Anthony 65, Richardson 66, Hall 67) 70s & 80s: Establecimiento de Ciencia de la Administracin de acuerdo a la tabla de de Fundamentos Administrativos.
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Historia Proceso de IS
Conformidad de la calidad a los requisitos y a las especificaciones (Crosby 79, Juran 80, Deming 82)
Crculo de Deming (Plan-Do-Check-Act PDCA) propuesto en Ciencia de la Administracin: Modelacin y Anlisis de Procesos de Software.
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Proyecto ISO TC176 para desarrollar un estndar internacional de sistemas de calidad (ISO 9000 91,93,94) aplicable ingeniera e implementado en IS (IS0 9001 89,94)
Historia Proceso de IS
70s: Crisis de Software (Naur & Randell 69, Baker 72, Brooks 75, Hoare 75) 80s: Proceso de Software se reconoce como un herramienta de la Ingeniera de Software (Basili 80, Aron 83, Agresti 86, Evans 87, Boehm 81,86,87, Gilb 88, Humphrey 87, 88, 89) Desarrollo del Modelo CMM (Humphrey 87, Paulk 93) 80s: Otros Modelos:
IEEE Software Engineering Standard (IEEE 83) British Standard BS 5750 (BSI 87)
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Desarrollo Tradicional
Requerimientos
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Caracterizacin actual
Introduccin Modelos & Estndares
Un sistema a la vez
Proyectos de Software Desarrollo de software para un cliente externo o interno
Proceso
Aseguramiento Calidad de SW
Enfoque del proyecto es entregar antes de la fecha lmite Todas las decisiones durante el desarrollo son basadas en la prioridad de entregar el proyecto a tiempo
Referencias
Problemas
Introduccin Modelos & Estndares
Tiempo y presupuesto
Proyectos de software son sobreestimados/subestimados, fuera de tiempo
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Costos de Mantenimiento
80% del costo del sistema es debido a mantenimiento
Referencias
Competitividad
Personal de una empresa desarrolladora de software dedicada a mantener software, en lugar de crear nuevos sistemas
Caracterizacin Deseada
Introduccin Modelos & Estndares
Costos de Desarrollo
Reducir drsticamente los costos de Desarrollo de Software
Proceso
Arquitectura de Software
Calidad
Aseguramiento Calidad de SW Referencias
Adems de Confiable, Fcil de Mantener, Uso adecuado de recursos Calidad vs. Costo
Caracterizacin Deseada
Tiempo de mercado
Costo de desarrollo de un producto no es importante Tiempo de mercado es una ventaja competitiva Definicin de requerimientos hasta la distribucin del producto es de mayor relevancia
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Soluciones Tentativas
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
McIlroy, 1969: Reutilizacin de software existente a travs de componentes Reducir costos de desarrollo Mejora de la calidad del producto Time-to-market se reduce Reduccin en los costos de Mantenimiento
Reutilizacin
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Proceso de creacin de software a partir de software existente en lugar del desarrollo tradicional de software Reutilizacin de software se enfoca a cdigo y estructuras de datos. A medida que la complejidad de un sistema se incrementa, la reutilizacin en las diferentes etapas del Desarrollo de Software es un prioridad. La Arquitectura de un Sistema provee un medio de explotar reutilizacin no slo de estructuras y algoritmos. Ahora tenemos que disear componentes para ser reutilizados.
Lecciones Aprendidas
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Todo programa de reutilizacin dentro de una empresa debe ser planeado y tomar un enfoque de arriba hacia abajo
Reutilizacin oportuna Reutilizacin Planeada
Aseguramiento Calidad de SW
Referencias
Reutilizacin Oportuna
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Se asume que las piezas de software seleccionadas son combinadas para solucionar el problema del producto de software en el cual se est trabajando.
Referencias
Reutilizacin Planeada
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Requiere que la organizacin dedique un esfuerzo en desarrollar artefactos reutilizables que provean abstracciones correctas en niveles correctos de variabilidad para los productos de software de la organizacin. Recursos reutilizables son desarrollados y presentados como partes de una estructura de alto nivel.
Arquitectura y Lneas
Introduccin Modelos & Estndares
Proceso
Arquitectura De Software
IS Basada en Componentes
Arquitectura de Software
Diseo de Arquitectura
Aseguramiento Calidad de SW
Lneas de Productos
Referencias
Calidad
Proceso
Requerimientos
Arquitectura de Software
Seleccin
Aseguramiento Calidad de SW
Referencias
Producto
AS en Desarrollo de Software
Introduccin Modelos & Estndares
Requerimientos
Proceso Arquitectura de Software
Diseo
Proceso AS
Aseguramiento Calidad de SW
Referencias
Proceso de AS
Introduccin Modelos & Estndares
Diseo Funcional
Especificaciones de Requerimientos
Proceso
Arquitectura de Software
Arquitectura de Aplicacin
Aseguramiento Calidad de SW
Referencias
Diseo Arquitectnico
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Proceso
Arquitectura de Software
Arquitectura de Aplicacin
Aseguramiento Calidad de SW
Referencias
Metodologa DFSS
Introduccin
Define Measure Analyze Design Validate
Proceso
Project Startup
Prototyping Results
Arquitectura de Software
Project Scope
Aseguramiento Calidad de SW
Planning & Management Develop High-Level Concepts
Performance results
Referencias
Elaborate Design Reqs
Proceso de AS/DFSS
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Aseguramiento de la calidad
Introduccin Modelos & Estndares
Un sistema de calidad es un proceso que asegura y demuestra la calidad de los productos y servicios que produce.
Incluye polticas, procedimientos, herramientas, recursos tecnolgicos y humanos.
Proceso
Arquitectura de Software
Un sistema de calidad requiere que el proceso de calidad sea administrado para asegurar su efectividad y eficiencia cuando las circunstancias cambien. El sistema de calidad debe de:
Asegurar a los clientes y desarrolladores que los productos de software producidos por el proceso de calidad sern de calidad. Poderse auditar, a travs de la documentacin, bitcoras de calidad, mediciones que demuestren el logro de calidad y la efectiva operacin del sistema de calidad. Seguir una filosofa de mejoramiento continuo de cualquier aspecto del proceso de desarrollo de software.
Aseguramiento Calidad de SW
Referencias
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Planeacin
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Planeacin
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Planeacin
Introduccin Modelos & Estndares
Planear la implementacin
La introduccin de un sistema de calidad en una empresa tiene el mismo grado de complejidad que un proyecto de desarrollo de software a gran escala. Se debe elaborar un plan completo y detallando fechas, actividades, logros, entregables y recursos necesarios en la implementacin del sistema. Actividades a realizar:
Implementar del programa cultural Adoptar de un modelo de ciclo de vida Disear un sistema de control de documentos Elaborar y documentar procedimientos y estndares para cada actividad y entregable de cada fase del ciclo de vida Elaborar y documentar procedimientos y estndares de las actividades de soporte Definir e implementar un programa de mtricas. Revisar Manual Entrenamiento y apreciacin del sistema de calidad. Programa de auditoria de calidad Administracin de revisiones Evaluacin de acuerdo al estndar o modelo seleccionado
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
La Jornada 08/03/2006
Simposio IT Expo de Gartner, que se llev a cabo en San Francisco, California, los analistas examinaron cuatro tendencias que impulsan esta transformacin:
Homogeneizacin y consumismo; Virtualizacin y tera-arquitecturas; Modelos de entrega de software y estilos de desarrollo, Comunidades y colaboracin.
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
"En los siguientes 30 aos continuaremos presenciando una mayor penetracin de la tecnologa en las empresas, pero la verdadera transformacin ser en la forma en que la tecnologa nos llega como individuos y modifica la manera en que trabajamos y vivimos", seal David Willis, vicepresidente de investigacin de Gartner. "Si los pasados 30 aos han sido de entregar tecnologa a la empresa, los siguientes 30 sern sobre cmo la tecnologa transformar la vida de los individuos."
Homogeneizacin y consumismo
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Muchos segmentos de tecnologa ya son un bien de consumo, lo que implica que ya estn homogeneizados. Las PC, el almacenamiento y el ancho de banda son esencialmente homogneos, y los compradores pueden obtener fundamentalmente el mismo "producto" sin importar qu marca elijan. Los analistas de Gartner observan que esta tendencia continuar, y absorber tambin elementos de software y servicios. La creciente homogeneizacin trae consigo una baja de precios que hace que los productos o servicios se coloquen al alcance de los bolsillos de las personas y empresas. La industria de TI, al seguir este camino, comienza a experimentar un proceso que Gartner denomina consumismo de las tecnologas de la informacin, el cual se refiere al impacto que las tecnologas, productos y enfoques adoptados por los consumidores o diseados para su uso tienen sobre el resto del mundo de TI (desarrolladores, proveedores de tecnologa y empresas). "En general, la homogenizacin y el consumismo se enfocan en hacer ms accesible la tecnologa, los cambios en el comportamiento de la sociedad que surgen debido a esto, as como disminuir el impacto que esos cambios tienen en una empresa en trminos de cmo satisface las demandas y expectativas cambiantes de los consumidores y empleados", indic Cebe Prentice, vicepresidente y analista distinguido de Gartner. "En conjunto, estas tendencias marcan un gran cambio en el equilibrio de poder entre los proveedores de tecnologa, las empresas, los individuos y hasta el Estado".
Virtualizacin y tera-arquitecturas
Introduccin Modelos & Estndares
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Se est volviendo algo comn encontrar instancias donde la virtualizacin de los servidores crea mquinas virtuales o particiones sobre un solo aparato fsico. Su uso ms comn es para unir varios servidores subutilizados en servidores virtuales dentro de una sola mquina. Esto puede mejorar la utilizacin de los servidores en 80 por ciento. "Las aplicaciones ya no estn destinadas a una caja, pues los encargados de sistemas pueden destinar servidores virtuales a los recursos que satisfagan mejor sus demandas computacionales", afirm Martin Reynolds, vicepresidente y miembro de la junta de Gartner. "Esto da a los lderes de TI la flexibilidad para administrar sus siempre cambiantes prioridades de demanda de recursos computacionales y de usar mejor su infraestructura." La infraestructura de TI requiere construirse con componentes granulares que se descubren uno a otro y se ensamblan automticamente en recursos computacionales. Se vuelve incrementable sin intervencin humana ms all del prenderlos y organizarlos. "Esta aproximacin incrementable y de cero administracin conduce a la tera-arquitectura, infraestructura de sistemas que es capaz de incrementar las capacidades computacionales en rdenes de magnitud sobre lo que podemos hacer hoy en da, dentro del mismo presupuesto", afirm Reynolds.
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Comunidades y colaboracin
Introduccin Modelos & Estndares Los individuos, as como los empleados y clientes, han adoptado las comunidades virtuales, as que las compaas no podrn evitar hacer lo mismo. Los analistas de Gartner afirman que actualmente el trabajador promedio participa en 10 comunidades. En los siguientes 10 aos, 80 por ciento del trabajo realizado por empleados ser colaborativo y no de personas trabajando por s mismas. Las personas que estn entrando a la fuerza laboral tienden a trabajar en colaboracin y estn centradas en su comunidad. Los estudiantes de preparatoria y universidad estn aceptando las redes comunitarias sociales. Sin embargo, cuando los analistas de Gartner hablan con las compaas, muchas no reconocen las tecnologas comunitarias y de colaboracin como inversiones prioritarias. "A la fecha, la comunidad y la colaboracin han estado en el margen del pensamiento de las personas, son secundarias a otras consideraciones", indic Kathy Harris, vicepresidente y analista de Gartner. "De hoy en adelante, estas tecnologas tienen que estar en primer orden de consideracin a la hora de fijar las prioridades de inversin en TI." La ltima generacin de tecnologa de Internet, incluyendo la web 2.0 y la arquitectura orientada a servicios, extender el alcance, escala y potencial de las comunidades y del trabajo en colaboracin. Los analistas de Gartner afirman que el cambio ir ms all de caractersticas innovadoras e interesantes. Esta generacin soportar nuevos enfoques de colaboracin para el desarrollo de software e integrar tecnologas de consumo para lograr ambientes computacionales corporativos.
Proceso
Arquitectura de Software
Aseguramiento Calidad de SW
Referencias
Preguntas?
Dr. Cuauhtmoc Lemus Olalde clemola@cimat.mx Septiembre, 2007 www.cimat.mx/~clemola
Referencias
ISO Standards http://www.praxiom.com/ Tantara Hotlist http://www.tantara.ab.ca/info.htm Best practices in CMM http://www.gartnerconnects.com/reprints/wipro/CS-19-6994/1.htm Software - the arrowhead of India's IT weaponry http://atimes.com/reports/BL07Ai01.html Pressman S. Roger, Ingeniera de Software: Un enfoque prctico. 5ta. Edicin, MacGraw Hill, 2002. Lewis E. William, Software TEsting and Continuous Quality Improvement CRC Press, 2000 Sommerville, Ian, Ingeniera de Software, Addison-Wesley, Sexta Edicin, 2002. Sanders, Joc, and Curran Eugene, Software Quality: A framework for success in software development and support, ACM Press, 1994. Drabick Roger, A Process Model of Software Quality Assurance/Software Quality Engineering, Software Quality Professional, Volumen 2, Issue 4, Septiembre 2000. Layman Beth, Rohde Sharon, Experiences implementing a software project measurement methodology, Software Quality Professional, Volumen 2, Issue 1, Diciembre 1999. Crosby, P., Quality is Free, McGraw-Hill, 1979.
Referencias
Garvin 1984 Albretch, A. J., Measuring Application Development Productivity, Proceeedings IBM Application Development Symposium, Monterey, CA, October 1979, pp. 83-92 Jones, C., Estimating Software Costs, McGraw-Hill,1998. Grady, R. B., Practical results from measuring software quality, Communications of the ACM, Vol. 36, Number 11, pp. 62-68, 1993. Barnard, J., Price, A., Managing code inspection information, IEEE Software, Volume 11, Number 2, pp. 59-69, 1994. Offen, R. J., Jeffrey, R., Establishing software measurement programs, IEEE Software Volume 14, Number 2, pp. 45-54, 1997. Hall, T., Fenton, N., Implementing effective software metrics program, IEEE Software, Volume 14, Number 2, pp. 55-64, 1997 Pulford, K., Kuntzmann-Combelles, A., et al., A Quantitative Approach to Software Management, Addison-Wesley, 1996. Gilb, T., Principles of Software Engineering Management, AddisonWesley, 1988. McCall, J. A., Cavano, J. P., A Framework for the measurement of Software Quality, Proceedings of ACM Software Quality Assurance Workshop, November 1978, pp. 133-139. Basili 1996 Shewart 1920
Referencias
Kautz, K., Making sense of Maeasurement for Small Organizations, IEEE Software, Macrh 1999, pp. 14-20 Grable, R., et al., Metrics for Small Projects: Experiences at SED, IEEE Software, March 1999, pp. 21-29 Park, R. E., et al., Goal Driven Software Measurement- A Guidebook, CMUSEI-96-BH-002, Software Engineering INstitute, CMU, Agugust, 1996. Mills, H. D., et al., Cleanroom Software Engineering, IEEE Software Volume 4, Number 5, September, pp. 19-24, 1987. Adams, E. N., Optimizing preventative service of software products, IBM Journal Research and Development, Volume 28, Number 1, pp. 2-14, 1984. Lyu, M., Software Reliability Engineering, McGraw-Hill, 1996. Myers, G., The Art of Software Testing, Wiley, 1979. Davis, A., 201 Principles of Software Development, McGraw-Hill, 1995 Bach 1994 Freedman, D. P., Weinberg, G. M., Handbook of Walkthroughs, Inspections and Technical Reviews, Dorset House, 1990 Schulmeyer, G. C., McManus, J. I., Handbook of Software Quality Assurance, Prentice-Hall, 1998 Kaplan, C., Clark, R., Tang, V., Secrets of Software Quality: 40 Innovations from IBM, McGraw-Hill, 1995 Kan, S. H., Metrics and Models in Software Quality Engineering, AddisonWesley, 1995