Вы находитесь на странице: 1из 34

Calidad en Software:

Proceso de Ingeniería de Software


Universidad
Tecnológica Dr. Cuauhtémoc Lemus Olalde
del Norte
de Guanajuato Centro de Investigación
en Matemáticas A. C.
(CIMAT)
Cuarta Expo
Informática
Febrero, 2003
Calidad
Conjunto de cualidades (etimología
similar) de una persona ó cosa
Introducción
– Lo que hace que una persona o cosa sea
lo que es
Perspectiva
Ingeniería de – Propiedad, carácter
Software (IS) – Atributo, don, virtud, modalidad
Proceso de IS Superioridad, excelencia de alguna
IngSoft cosa
Importancia
Calificación
– Calidad de vida
– Calidad de la educación
– Calidad del servicio
Educación de los hijos
Que se esta haciendo en
Calidad del Software?
Adopción de modelos y estándares
– CMM
Introducción – SPICE
Perspectiva
– ISO 9001, etc.
Ingeniería de
Software (IS)
Mejoramiento de procesos de
software a través de técnicas y
Proceso de IS
métodos estadísticos
IngSoft – PSP (Personal Software Process)
– TSP (Team Software Process)
– Seis Sigma Software
Desarrollo de Software (Calidad del
Producto)
– Arquitectura de Software
– Líneas de Productos
Perspectiva General
La Ingeniería de Software es
Introducción
una disciplina que estudia
Perspectiva metodologías y enfoques de
Ingeniería de
Software (IS) desarrollo de sistemas a gran
Proceso de IS escala.
IngSoft
Integrar a IS metodologías de
organización y administración
para formar una ambiente de
IS basada en procesos.
Historia
En sus inicios IS se enfocó a
Introducción
aspectos técnicos:
Perspectiva
– metodologías de programación,
Ingeniería de
Software (IS) – lenguajes de programación,
Proceso de IS – modelos de desarrollo de software
IngSoft
– herramientas
En la industria el rol importante
paso de los programadores a
líderes de proyecto y
administradores empresariales
Historia
Los programadores requieren de
tecnologías de programación.
Introducción Los administradores y requieren de
Perspectiva metodologías y estrategias.
Ingeniería de
Software (IS) Los líderes de proyecto requieren de
Proceso de IS metodologías de calidad
IngSoft (aseguramiento de la calidad)
Aspectos actuales de IS:
– Metodología e Infraestructura de
Desarrollo
– Organización
– Administración
Historia
Las actuales metodologías de IS son
inadecuadas.
Introducción
Se requiere de un proceso de
Perspectiva
Ingeniería de Ingeniería de Software.
Software (IS)

Proceso de IS
Un proceso de IS incluye:
IngSoft
– Prácticas empíricas de Desarrollo
(Métodos, Modelos, Enfoques, Etapas)
– Modelo Abstracto de las actividades de
desarrollo.
– Metodologías de Ingeniería para el
desarrollo, organización y administración
de sistemas a gran escala.
Modelos de Procesos de IS
CMM (Capability Maturity Model)
ISO 9001
Introducción

Perspectiva
BOOTSTRAP
Ingeniería de
Software (IS) ISO/IEC 15504 (SPICE – Software
Proceso de IS Process Improvemente ?)
IngSoft Modelo vs. Ciclo de Vida
– El modelo consiste de fases o etapas y
esta orientado al desarrollo de software, y
el modelo consiste de procesos cubriendo
todas las practicas en un proyecto de
software (organización, administración y
desarrollo)
Modelos de Procesos de IS
Esfuerzos de investigación (Humprey
95, Kugler & Rementeria 95, Pfleeger
Introducción 98) indican un cambio de enfoque:
Perspectiva – En lugar de controlar la calidad en el
Ingeniería de
Software (IS)
producto final de software, se optimizará
el proceso del cual se produce el
Proceso de IS
software.
IngSoft
Actualmente el desarrollo de
aplicaciones de software son
proyectos de software (un solo
sistema), pero el proceso podría
definirse, estabilizarse, reutilizarse y
estandarizarse.
Definición IS (1969)
Ingeniería de Software
– Establecimiento y uso de principios de ingeniería para
obtener software económico que es confiable y funciona
Introducción
eficientemente (Naur & Randell 69)
Características
Perspectiva – Complejidad y diversidad
Ingeniería de
Software (IS)
– Dificultad en establecer y estabilizar los requerimientos
– Software es cambiante (maleable)
Proceso de IS – Abstracción e intangibilidad de los productos de
software
IngSoft
– Requisito de variar conocimiento del dominio del
problema
– Diseño no-determinístico y con soluciones múltiples
– Uso de varios lenguajes y polimorfismo en la
implementación
– Dependencia en las interacciones entre software,
hardware y el usuario
Definición IS (1991)
Ingeniería de Software es la ciencia y
arte de especificar, diseñar,
Introducción
implementar y evolucionar, en forma
Perspectiva
Ingeniería de
económica, a tiempo y elegante,
Software (IS)
programas, documentación, y
Proceso de IS
procedimientos operativos para que
IngSoft
las computadores puedan ser útiles
(McDermid 91)
IS-69: es un método para el desarrollo
de software
IS-91: una ciencia y arte de
programación.
Definición (1998)
Ingeniería de Software es una
disciplina que adopta enfoques tales
Introducción
como
– Metodologías
Perspectiva
Ingeniería de – Procesos
Software (IS)
– Herramientas
Proceso de IS – Estándares
IngSoft – Métodos de Organización
– Métodos de Administración
– Sistemas de aseguramiento de calidad
Para desarrollar software a gran
escala con una alta productividad,
bajo costo, calidad controlada, y
agendas de desarrollo mensurables.
Comparando Definiciones
de IS
Def. Naturaleza Significado Objetivo Atributos
1969 Un método Principios Software Económico
genéricos de IS Confiable
Introducción Eficiente

Perspectiva 1991 Ciencia y arte Ciclo de vida: Programas y Económico


Ingeniería de Especificación documentos Oportuno
Software (IS) Diseño Elegante
Implementación
Proceso de IS
Evolución
IngSoft 1998 Una disciplina Enfoques: Software a Productividad
de Ingeniería Metodologías gran escala Calidad
Procesos Costo
Herramientas Tiempo
Estándares
Organización
Administración
Calidad
Productos de Software vs.
Productos Físicos
La revolución industrial se oriento
Introducción
a la producción en masa a través
Perspectiva
de maquinaria y procesos
Ingeniería de
Software (IS) estándares y componentes
Proceso de IS (Marshall 38)
IngSoft
El desarrollo de sistemas de
software es una revolución que
transforma el procesamiento de
información y partes de un
producto físico en software.
Metodologías de
Programación
Principios
Abstracción
Introducción
Esconder Información
Perspectiva
Ingeniería de Descomposición Funcional (50s)
Software (IS)
Modularización
Proceso de IS
Reutilización
IngSoft
Programación Estructurada (70s)
Abstract Data Types (74)
Lenguajes Orientados a Objetos (80s)
Component Base Programming
(COTS – Components of the Shelf)
Modelos de
Desarrollo de Software
El modelo intenta proveer un
Introducción
conjunto de guías para el diseño
Perspectiva
e implementación del sistema.
Ingeniería de
Software (IS) – Modelo de Cascada (Royce 70)
Proceso de IS – Prototipos (Curtis y colegas 87)
IngSoft
– Espiral (Boehm 88)
– V (GMOD 92)
– Evolucionario (Lehman 85, Gilb 88,
Gustavsson 89)
– Incremental (Mills y colegas 80)
Automatización de IS
Aplicación de inteligencia artificial y técnicas
de basadas en el conocimiento.
Introducción Categorías de Herramientas:
– CASE (Computer Aided Software Engineering)
Perspectiva
Ingeniería de – Unified Modeling Language
Software (IS) Facilitan la automatización de las etapas de diseño
y generación de código.
Proceso de IS
Problemas Principales
IngSoft
– Adquisición y especificación de requerimientos
– Representación del conocimiento de una
aplicación
– Pruebas de corrección de una implementación
Clasificación de
Herramientas de IS
Categoría Subcategoría Comentarios

Análisis de Análisis de requerimientos, adquisición,


Sistemas especificación, prototipos, modelación,
Introducción generación de interfases, etc.
Desarrollo de Análisis y Análisis de Requerimientos, Representación
Perspectiva Software Especificación de del conocimiento de un dominio,
Ingeniería de Requerimientos especificación, etc.
Software (IS)
Programación Compiladores, Debuggers, generadores de
Proceso de IS código, sistemas de reutilización, ambientes
de programación, etc.
IngSoft Prueba Modular, Integración, sistema, aceptación,
prototipos, objetos, interfase, etc.
Mantenimiento Reverse Engineering, Re-ingeniería, librería
de reutilización, análisis estático y dinámico,
etc.
CASE UML, ClearCase, Analystsw Toolkit,
Automate+, BachmanSet, Excelerator, IEW,
LBMS, Maestro, Oracle CASE, Select,
System Architect, Top CASE, Unis SCCS,
Yourdon ADT, Rational, etc.
Enfoques de IS
Enfoque Descripción Técnica Organización Administración

Programación D. Funcional H L L
P. Estructurada
Introducción
OOP
Perspectiva CBP
Ingeniería de Modelos de Cascada H M L
Software (IS)
Desarrollo Espiral
Proceso de IS Prototipos

Automatizar CASE H L L
IngSoft
IS UML

Métodos CSP H L L
Formales SDL
Z
Clean Room
Procesos de CMM H H H
IS Trillium
BOOTSTRAP
ISO/IEC 15504
Comentarios
Las áreas de organización y
administración no han recibido mucha
Introducción atención en cada uno de los
Perspectiva enfoques.
Ingeniería de
Software (IS) Los procesos de IS consideran
Proceso de IS infraestructuras
IngSoft – Sistemáticas
– Organizacionales
– Administrativas
El software es cada vez más
complejo, de gran tamaño, y de mejor
calidad
El Proceso de IS
Un proceso se describe como un
conjunto de actividades que
Introducción
transforman una entrada para crear
una salida.
Perspectiva
Ingeniería de El proceso de IS transforma
Software (IS)
requerimientos parea crear un
Proceso de IS producto de software.
IngSoft Proceso de Software
– Método de Administración de Software (
Gilb 88, Humphrey 89)
– Enfoque de aseguramiento de calidad
(Evans & Marciniak 87, ISO 91)
– Técnicas de desarrollo de software
(Curtis 87, Fayad 97)
El Proceso de IS
Nueva disciplina de Proceso de
Ingeniería de Software
Introducción – Desarrollo de CMM
Perspectiva – ISO 9000
Ingeniería de
Software (IS) Proceso de IS
Proceso de IS – Fundamentos
IngSoft – Modelo
– Establecimiento
– Evaluación
– Mejoramiento
– Estandarización
… de procesos de software
Definición de Proceso de IS
Conjunto de prácticas
Introducción
secuenciales que son
Perspectiva
funcionalmente coherentes y
Ingeniería de
Software (IS) reutilizables en la organización,
Proceso de IS implementación y administración
IngSoft de la ingeniería de software.
Historia
Proceso de IS
Ingeniería de Software & Ciencia
de la Administración
– 60s:Ingeniería de Procesos y
Introducción

Perspectiva
Ingeniería de principios de administración en
Software (IS)
Ciencia de la Administración
Proceso de IS (Simon 60, Schein 61, Ellis & FRed
IngSoft 62, Juran 62, Anthony 65,
Richardson 66, Hall 67)
– 70s & 80s: Establecimiento de
Ciencia de la Administración de
acuerdo a la tabla de de
Fundamentos Administrativos.
Historia
Proceso de IS
Conformidad de la calidad a los
requisitos y a las especificaciones
Introducción
(Crosby 79, Juran 80, Deming 82)
Perspectiva
Ingeniería de – Círculo de Deming (Plan-Do-Check-Act
Software (IS) PDCA) propuesto en Ciencia de la
Proceso de IS Administración: Modelación y Análisis de
IngSoft Procesos de Software.
Proyecto ISO TC176 para desarrollar
un estándar internacional de sistemas
de calidad (ISO 9000 91,93,94)
aplicable ingeniería 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)
Introducción 80s: Proceso de Software se reconoce como
un arma de la Ingeniería de Software (Basili
Perspectiva
Ingeniería de 80, Aron 83, Agresti 86, Evans 87, Boehm
Software (IS) 81,86,87, Gilb 88, Humphrey 87, 88, 89)
Proceso de IS Desarrollo del Modelo CMM (Humphrey 87,
IngSoft Paulk 93)
80s: Otros Modelos:
– IEEE Software Engineering Standard (IEEE 83)
– British Standard BS 5750 (BSI 87)
Métodos y Procesos
de IS Actuales
TickIT
Introducción
ISO 9001 (1)
Perspectiva
Ingeniería de
CMM (2)
Software (IS)
BOOTSTRAP
Proceso de IS

IngSoft ISO/IEC 12207


ISO/IEC TR 15504 (SPICE) (3)
BSI
Trillium
Taxonomía y Dominios en
los Modelos Actuales
Nivel CMM Bootstrap SPICE ISO 9001 SEPRM
Sistema CMM Bootstrap SPICE ISO 9001 SEPRM

Introducción

Perspectiva Sub- - Areas de - Sub-sistemas Sub-


Ingeniería de sistema Proceso [3] [3] sistemas [3]
Software (IS)

Proceso de IS Niveles Categorías Categorías - Categorías


Categorí
a [5] [9] (PCs) {12]
IngSoft
[5]

Proceso Areas Procesos Procesos Tópicos Procesos


Prácticas [32] (PRs) [35] Principales [51]
(KPAs) de Areas
[18] (MTAs) [20]

Práctica Prácticas Atributos de Prácticas Aspectos de Actividades


(KPs) Calidad Base Admon. (MIs) de Procesos
[150] (QSAs) (BPs) [177] (BPAs) [444]
[201] [201]
Modelo de
Calidad ISO 9126
Característica Atributo
Funcionalidad Conveniente, exactitud,
Introducción interoperabilidad, seguridad
Confiabilidad Maduro, tolerancia a fallas,
Perspectiva
Ingeniería de recuperabilidad
Software (IS) Utilidad Fácil de entender, aprender,
Proceso de IS operar
Eficiencia Comportamiento en el tiempo,
IngSoft
Comportamiento de los
recursos
Fácil de Mantener Fácil de analizar, modificar,
probar; estabilidad
Portabilidad Fácil de adaptarse, instalarse,
adecuarse, reemplazarse.
Modelo Genérico del
Desarrollo de Software

Introducción
Procesos de
Desarrolladores
Perspectiva Desarrollo
Ingeniería de
Software (IS)

Proceso de IS Clientes

IngSoft
Procesos de
Administradores
Administración
Proceso de Organización
Implementación del
Modelo Genérico
Proceso de Modelo de
Organización Referencia
Introducción

Perspectiva
organización
Ingeniería de
Software (IS)
proceso

Proceso de IS
Proceso Proceso de Proceso Proceso de
IngSoft Derivado Administración Derivado Administración
del del
Modelo Modelo
de Proceso de de Proceso de
Referencia Desarrollo Referencia Desarrollo

Proyecto 1 … Proyecto n
IngSoft@CIMAT
Proyecto ProCIS (Promoviendo
Calidad en la Industria del Software)
Introducción
– Cultura de Calidad: Universidades e
Perspectiva
Ingeniería de
Industria (PSP, TSP)
Software (IS)
– Investigación
Proceso de IS Arquitecturas de Software (Líneas de
IngSoft Productos)
Proceso de IS (CMMi, SPICE, PSP, TSP, Seis-
Sigma Software)
– Maestría en Ingeniería de Software (MIS)
Literatura
Yingxu Wang, Software Engineering Processes: Principles and Applications,
Boca Raton, CRC Press 2000.
Paulk, M. C., y colegas, “CMM Versus SPICE Architectures”, Software
Process Newsletters, Spring 1994, pp. 7-11.
Paulk, M. C., “How ISO 9001 Compares with the CMM”, IEEE Software,
Introducción January 1995, pp. 74-83.
Jarvinen, J., “On Comparing Process Assessment Results: BOOTSTRAP and
Perspectiva CMM”, Software Quality Management, pp. 247-262, 1994.
Ingeniería de Kugler, H. J., y colegas, “From the Software Process to Software Quality:
BOOTSTRAP and ISO 9000”, Proceedings of the First Asia-Pacific Software
Software (IS) Engineering Conference, Tokyo, Japan, IEEE Computer Society Press, pp.
174-182.1994.
Proceso de IS Kitson , D. H., “” Relating the SPICE Framework and SEI Approach to
Software Process Assessment” Proceedings of International Conference on
IngSoft Software Quality Management (SQM’96), MEP Press, London 1996, pp. 37-
49.
Hoare, C. A. R., Communicating Sequential Processes, Prentice-Hall
International, Englewood Cliffs, NJ., 1985.
Milner, R., Communicating and Concurrency, Prentice-Hall, Englewood Cliffs,
NJ., 1989.
Humphrey, W. S., A Discipline for Software Engineering, SEI Series in
Software Engineering, Addison-Wesley, Reading, MA., 1995.
Pressman, R. S., Software Engineering: A Practitioner’s Approach (3rd ed.),
MacGraw-Hill International Editions, New York 1992.
Fondo Mixto de Fomento a la Investigación Científica y Tecnológica
CONACYT-Gobierno del Estado de Guanajuato Programa para el desarrollo
de la Industria de Software
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
Preguntas?

Dr. Cuauhtémoc Lemus Olalde


Introducción

Perspectiva
Ingeniería de clemola@cimat.mx
Software (IS)

Proceso de IS
www.cimat.mx/ingsoft
IngSoft

Febrero, 2003

Вам также может понравиться